interface UseAutoSaveOptions {
    onSanityCheck: () => Promise<{
        passed: boolean;
        errors?: string[];
    }>;
    onSave: () => Promise<void>;
    countdownDuration?: number;
    waitDuration?: number;
    enabled?: boolean;
}
export type AutoSaveStatus = 'idle' | 'waiting' | 'checking' | 'validation-error' | 'countdown' | 'saving' | 'saved' | 'error';
export declare function useAutoSave({ onSanityCheck, onSave, countdownDuration, waitDuration, enabled, }: UseAutoSaveOptions): {
    triggerAutoSave: () => void;
    saveNow: () => Promise<void>;
    cancel: () => void;
    dismissValidation: () => void;
    status: AutoSaveStatus;
    lastSaved: Date | null;
    error: string | null;
    validationErrors: string[];
    countdownRemaining: number;
    countdownTotal: number;
};
export {};
