import { PdfExportOptions } from './PdfExportOptions'; export type JobPhase = "idle" | "creating_job" | "polling_job" | "success" | "error" | "cancelling"; export interface UsePdfExportJobOptions { /** URL to POST to for creating the job */ jobCreationUrl: string; /** Base API URL for job polling */ apiUrl: string; /** PDF export options */ options: PdfExportOptions; /** Optional HTML content to include in request */ html?: string; /** Returns extra fields for the job creation request body. Called when the job starts, so it * captures state at that moment. */ getExtraBody?: () => { [key: string]: any; }; } export interface UsePdfExportJobResult { /** Current phase of the export job */ phase: JobPhase; /** Current job ID, if available */ jobId: string | null; /** Status message for display */ statusMessage: string | null; /** Full job details from polling */ jobDetails: any | null; /** Start the job creation and polling process */ startJob: () => Promise; /** Cancel the current job */ cancelJob: () => Promise; /** Reset the job state to idle */ reset: () => void; } /** * Hook for managing PDF export job creation and polling. * Handles all the async job logic including creation, polling, and cancellation. */ export declare function usePdfExportJob(hookOptions: UsePdfExportJobOptions): UsePdfExportJobResult;