export type SyncActionState = {
    kind: 'idle';
} | {
    kind: 'running';
} | {
    kind: 'failed';
    error: string;
    code: string | null;
} | {
    kind: 'done';
    committed: boolean;
    pushed: boolean;
    headSha: string;
};
export interface UseSyncActionResult {
    state: SyncActionState;
    /** Trigger the sync. Resolves after the server responds or rejects. */
    sync(message?: string): Promise<void>;
    /** Reset back to idle — used when the user dismisses an error. */
    reset(): void;
}
export declare function useSyncAction(applicationId: string): UseSyncActionResult;
//# sourceMappingURL=use-sync-action.d.ts.map