import { AViewerPluginSync } from '../../viewer';
import { CanvasSnapshotOptions } from '../../utils/canvas-snapshot';
export declare class CanvasSnapshotPlugin extends AViewerPluginSync<''> {
    static readonly PluginType = "CanvasSnapshotPlugin";
    enabled: boolean;
    constructor();
    /**
     * Returns a File object with screenshot of the viewer canvas
     * @param filename default is {@link CanvasSnapshotPlugin.filename}
     * @param options waitForProgressive: wait for progressive rendering to finish, default: true
     */
    getFile(filename?: string, options?: CanvasSnapshotOptions & {
        waitForProgressive?: boolean;
    }): Promise<File | undefined>;
    /**
     * Returns a data url of the screenshot of the viewer canvas
     * @param options waitForProgressive: wait for progressive rendering to finish, default: true
     */
    getDataUrl(options?: CanvasSnapshotOptions & {
        waitForProgressive?: boolean;
    }): Promise<string>;
    private _getFile;
    filename: string;
    /**
     * Only for {@link downloadSnapshot} and functions using that
     */
    defaultOptions: CanvasSnapshotOptions & {
        waitForProgressive?: boolean;
    };
    downloadSnapshot(filename?: string, options?: CanvasSnapshotOptions & {
        waitForProgressive?: boolean;
    }): Promise<void>;
    protected _downloadPng(): Promise<void>;
    protected _downloadJpeg(): Promise<void>;
    protected _downloadWebp(): Promise<void>;
}
/**
 * @deprecated - use {@link CanvasSnapshotPlugin}
 */
export declare class CanvasSnipperPlugin extends CanvasSnapshotPlugin {
    static readonly PluginType: any;
    constructor();
}
//# sourceMappingURL=CanvasSnapshotPlugin.d.ts.map