import { ExportOptions, ExportResult, ExportFormat, GanttChartRef } from "@/types";
/**
 * Hook return type
 */
export interface UseGanttExportReturn {
    /**
     * Ref to attach to the GanttChart component
     */
    ganttRef: React.RefObject<GanttChartRef | null>;
    /**
     * Export the chart to the specified format
     */
    exportChart: (options?: ExportOptions) => Promise<ExportResult>;
    /**
     * Export as PNG
     */
    exportAsPng: (filename?: string, options?: Omit<ExportOptions, "format" | "filename">) => Promise<ExportResult>;
    /**
     * Export as JPEG
     */
    exportAsJpeg: (filename?: string, options?: Omit<ExportOptions, "format" | "filename">) => Promise<ExportResult>;
    /**
     * Export as PDF
     */
    exportAsPdf: (filename?: string, options?: Omit<ExportOptions, "format" | "filename">) => Promise<ExportResult>;
    /**
     * Get chart as data URL
     */
    getDataUrl: (format?: ExportFormat) => Promise<string | null>;
    /**
     * Get chart as Blob
     */
    getBlob: (format?: ExportFormat) => Promise<Blob | null>;
    /**
     * Copy chart to clipboard
     */
    copyToClipboard: () => Promise<boolean>;
    /**
     * Check if export dependencies are available
     */
    checkDependencies: () => Promise<{
        html2canvas: boolean;
        jspdf: boolean;
    }>;
    /**
     * Get preview URL for the chart (useful for preview modal)
     */
    getPreviewUrl: (format?: ExportFormat, options?: Omit<ExportOptions, "format" | "filename">) => Promise<string | null>;
}
/**
 * Custom hook for easy Gantt chart export functionality
 *
 * @example
 * ```tsx
 * import { useGanttExport, GanttChart } from 'react-modern-gantt';
 *
 * function MyComponent() {
 *   const { ganttRef, exportAsPng, exportAsPdf, copyToClipboard } = useGanttExport();
 *
 *   return (
 *     <div>
 *       <GanttChart ref={ganttRef} tasks={tasks} />
 *       <button onClick={() => exportAsPng('my-gantt')}>Export PNG</button>
 *       <button onClick={() => exportAsPdf('my-gantt')}>Export PDF</button>
 *       <button onClick={copyToClipboard}>Copy to Clipboard</button>
 *     </div>
 *   );
 * }
 * ```
 */
export declare function useGanttExport(): UseGanttExportReturn;
export default useGanttExport;
