import type { Node, ReactFlowInstance } from '../xyflow/react.ts';
export type ExportImageFormat = 'png' | 'jpeg' | 'svg';
export interface ExportCanvasOptions {
    width?: number;
    height?: number;
    fitToContent?: boolean;
    backgroundColor?: string;
    format?: ExportImageFormat;
    quality?: number;
    minZoom?: number;
    maxZoom?: number;
    padding?: number;
    viewportSelector?: string;
    filter?: (node: HTMLElement) => boolean;
    includeImages?: boolean;
    pixelRatio?: number;
    skipFonts?: boolean;
}
export interface ExportCanvasResult {
    dataUrl: string;
    width: number;
    height: number;
    format: ExportImageFormat;
}
export declare function getFileExtension(format: ExportImageFormat): string;
export declare function getMimeType(format: ExportImageFormat): string;
export declare function exportCanvasToImage<NodeType extends Node = Node>(reactFlowInstance: ReactFlowInstance<NodeType>, options?: ExportCanvasOptions): Promise<ExportCanvasResult>;
export declare function downloadCanvasAsImage<NodeType extends Node = Node>(reactFlowInstance: ReactFlowInstance<NodeType>, filename?: string, options?: ExportCanvasOptions): Promise<void>;
export declare function copyCanvasToClipboard<NodeType extends Node = Node>(reactFlowInstance: ReactFlowInstance<NodeType>, options?: Omit<ExportCanvasOptions, 'format'>): Promise<void>;
//# sourceMappingURL=export-canvas.d.ts.map