export interface AutoSaveOptions {
    enabled?: boolean;
    delay?: number;
}
export interface UseAutoSaveProps {
    initialValue: string;
    onSave: (value: string, shouldClose?: boolean) => void;
    onClose: () => void;
    autoSave?: AutoSaveOptions;
}
export interface UseAutoSaveReturn {
    value: string;
    hasUnsavedChanges: boolean;
    handleChange: (newValue: string) => void;
    handleManualSave: () => void;
    handleClearTimeout: () => void;
    isAutoSaveEnabled: boolean;
    isSaveDisabled: boolean;
}
/**
 * autosave functionality for extensions with edit block
 */
export declare const useAutoSave: ({ autoSave, initialValue, onClose, onSave, }: UseAutoSaveProps) => UseAutoSaveReturn;
