import { loadImageWithBlob } from 'util-helpers';
import { getRandomPoints, drawPuzzle, Point } from './util';
declare function clearCache(key?: string | string[]): void;
type Options = {
    borderWidth?: number;
    borderColor?: string;
    fillColor?: string;
    points?: NonNullable<Parameters<typeof drawPuzzle>[1]>['points'];
    width?: number;
    height?: number;
    x?: number;
    y?: number;
    margin?: number;
    equalHeight?: boolean;
    bgWidth?: number;
    bgHeight?: number;
    bgOffset?: [number, number] | ((imgWidth: number, imgHeight: number) => [number, number]);
    imageWidth?: number;
    imageHeight?: number;
    cacheImage?: boolean;
    ajaxOptions?: Parameters<typeof loadImageWithBlob>[1];
    bgImageType?: string;
    quality?: number;
    format?: 'dataURL' | 'blob';
    autoRevokePreviousBlobUrl?: boolean;
};
type Result = {
    bgUrl: string;
    puzzleUrl: string;
    x: number;
    y: number;
};
declare function createPuzzle(imgUrl: string | Blob, options?: Options): Promise<Result>;
export { createPuzzle, getRandomPoints, drawPuzzle, Point, clearCache };
export type { Result, Options };
export default createPuzzle;
