import { CardinalDirection, HorizontalCardinalDirection, OrdinalDirection, Point, VerticalCardinalDirection } from "../types/index";
declare function getDirectionNames(hDirection?: HorizontalCardinalDirection | null, vDirection?: VerticalCardinalDirection | null): {
    camelCase: "west" | "east" | "north" | "south" | "westNorth" | "westSouth" | "eastNorth" | "eastSouth" | null | undefined;
    snakeCase: string | null | undefined;
};
declare function isBlob(url: string): boolean;
declare function isDataUrl(url: string): boolean;
declare function isLocal(url: string): boolean;
declare function isCrossOriginURL(url: string): boolean;
declare function isArray<T, U>(value: Array<T> | U): value is Array<T>;
declare function isFunction<T extends Function, U>(value: T | U): value is T;
declare function isUndefined(obj: unknown): obj is undefined;
declare const isObject: <T extends object, U>(term: T | U) => term is NonNullable<T>;
declare function getOptions(options: any, defaultScheme: any, falseScheme?: any): any;
declare function parseNumber(number: string | number): number;
declare function isBoolean(value: unknown): value is boolean;
declare function isNumber(value: unknown): value is number;
declare function isString<T>(value: string | T): value is string;
declare function isNaN(value: unknown): boolean;
declare function isNumeric(value: unknown): value is number | string;
declare function distance(firstPoint: Point, secondPoint: Point): number;
declare function isRoughlyEqual(a: number, b: number, tolerance?: number): boolean;
declare function isGreater(a: number, b: number, tolerance?: number): boolean;
declare function isLower(a: number, b: number, tolerance?: number): boolean;
declare function isArrayBufferLike(value: unknown): value is ArrayBufferLike;
declare function getCloserAngle(reference: number, angle: number): number;
declare function sign(value: number): number;
declare function promiseTimeout(timeout: number): Promise<unknown>;
declare function deepClone<T>(obj: T): T;
declare function deepCompare(a: any, b: any, tolerance?: number): boolean;
declare function isWheelEvent(event: Event): event is WheelEvent;
declare function isTouchEvent(event: Event): event is TouchEvent;
declare function isMouseEvent(event: Event): event is MouseEvent;
declare function emptyCoordinates(): {
    left: number;
    top: number;
    width: number;
    height: number;
};
declare function isCardinalDirection(value: unknown): value is CardinalDirection;
declare function isOrdinalDirection(value: unknown): value is OrdinalDirection;
declare function debounce<Arguments extends any[]>(callback: (...args: Arguments) => void, delay?: number | (() => number)): {
    (...args: Arguments): void;
    clear(): void;
};
export { getDirectionNames, isBlob, isDataUrl, isLocal, isCrossOriginURL, isArray, isFunction, isUndefined, isObject, getOptions, parseNumber, isBoolean, isNumber, isString, isNaN, isNumeric, distance, isRoughlyEqual, isGreater, isLower, isArrayBufferLike, getCloserAngle, sign, promiseTimeout, deepClone, deepCompare, isWheelEvent, isTouchEvent, isMouseEvent, emptyCoordinates, isCardinalDirection, isOrdinalDirection, debounce };
