export interface CanvasSnapshotRect {
    height: number;
    width: number;
    x: number;
    y: number;
    /**
     * Use if canvas.width !== canvas.clientWidth or height and rect is based on client rect
     */
    assumeClientRect?: boolean;
}
export interface CanvasSnapshotOptions {
    getDataUrl?: boolean;
    mimeType?: string;
    quality?: number;
    rect?: CanvasSnapshotRect;
    scale?: number;
    timeout?: number;
    displayPixelRatio?: number;
    cloneCanvas?: boolean;
}
export declare class CanvasSnapshot {
    static Debug: boolean;
    static GetClonedCanvas(canvas: HTMLCanvasElement, { rect, displayPixelRatio, scale, }: CanvasSnapshotOptions): Promise<HTMLCanvasElement>;
    static GetDataUrl(canvas: HTMLCanvasElement, { mimeType, quality, ...options }: CanvasSnapshotOptions): Promise<string>;
    static GetImage(canvas: HTMLCanvasElement, options?: CanvasSnapshotOptions): Promise<HTMLImageElement>;
    static GetBlob(canvas: HTMLCanvasElement, options?: CanvasSnapshotOptions): Promise<Blob>;
    static GetFile(canvas: HTMLCanvasElement, filename?: string, options?: CanvasSnapshotOptions): Promise<File | string>;
}
//# sourceMappingURL=canvas-snapshot.d.ts.map