import { SharedPlanOperationProcessView } from '../../../../domain/models/shared-plan-operation-process-view';
import { PlanOperationType } from '../../../../domain/models/shared-plan-operation-process';
type OperationStatus = 'idle' | 'initializing' | 'running' | 'granted' | 'completing' | 'completed' | 'error';
export interface UseSharedPlanOperationProcessConfig {
    operationType?: PlanOperationType;
}
export interface SharedPlanOperationProcessHook {
    start: {
        execute: () => Promise<void>;
        loading: boolean;
        error?: string;
        errorDescription?: string;
    };
    retry: {
        execute: () => Promise<void>;
    };
    abort: {
        execute: () => Promise<void>;
    };
    complete: {
        execute: () => Promise<void>;
        loading: boolean;
    };
    reset: () => void;
    resume: () => Promise<void>;
    process: SharedPlanOperationProcessView;
    operationType: PlanOperationType;
    status: OperationStatus;
    isRunning: boolean;
    isAccessGranted: boolean;
    isCompleted: boolean;
    hasError: boolean;
    error?: string;
    errorDescription?: string;
}
export default function useSharedPlanOperationProcess(planId?: string, config?: UseSharedPlanOperationProcessConfig): SharedPlanOperationProcessHook;
export {};
