export type CustodianDistributionStatus = 'idle' | 'claiming' | 'waiting-mobile' | 'fetching-share' | 'writing-device' | 'recording' | 'marking-collected' | 'done' | 'error';
export interface UseCustodianShareDistributionResult {
    status: CustodianDistributionStatus;
    error?: string;
    distributeViaMobile: (planId: string) => Promise<void>;
    fetchShareForDevice: (processId: string) => Promise<{
        id: string;
        shares: string[];
        planId: string;
        isMergeAuthority: boolean;
    }>;
    recordClaim: (planId: string, shareId: string, deviceId: string, deviceType: 'SK_MOBILE' | 'SK_PRO') => Promise<void>;
    cancelClaim: (processId: string) => Promise<void>;
    releaseViaMobile: (processId: string) => Promise<void>;
    markAsCollected: (processId: string, shareId: string) => Promise<void>;
    reset: () => void;
}
export declare function useCustodianShareDistribution(): UseCustodianShareDistributionResult;
