import { getRandomPoints, drawPuzzle, Point, getRandomInt } from './util';
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;
    imageWidth?: number;
    imageHeight?: number;
    bgWidth?: number;
    bgHeight?: number;
    bgOffset?: [number, number] | ((imgWidth: number, imgHeight: number) => [number, number]);
    bgImageType?: string;
    bgImageEncoderOptions?: number;
    cacheImage?: boolean;
};
type Result = {
    bgUrl: string;
    puzzleUrl: string;
    x: number;
    singlePuzzleUrl: string;
    singlePuzzleY: number;
};
declare function createPuzzle(imgUrl: string | Blob, options?: Options): Promise<Result>;
export { getRandomPoints, drawPuzzle, getRandomInt, Point };
export type { Result, Options };
export default createPuzzle;
