import { ConfigureSharedProtectionPlanInput } from '../../../../application/configuration-process/configure-shared-protection-plan-use-case';
import { SharedPlanConfigurationProcess } from '../../../../domain/models/shared-plan-configuration-process';
type ConfigureStatus = 'idle' | 'running' | 'done' | 'error';
export default function useConfigureSharedProtectionPlan(planId?: string): {
    configure: {
        execute: (input: Omit<ConfigureSharedProtectionPlanInput, "planId">) => Promise<void>;
        executeOrThrow: (input: Omit<ConfigureSharedProtectionPlanInput, "planId">) => Promise<void>;
        loading: boolean;
        error: string | undefined;
        errorDescription: string | undefined;
    };
    retry: {
        execute: (input: Omit<ConfigureSharedProtectionPlanInput, "planId">) => Promise<void>;
    };
    reset: {
        execute: () => Promise<void>;
    };
    process: SharedPlanConfigurationProcess | null;
    processLoaded: boolean;
    status: ConfigureStatus;
    isRunning: boolean;
    isDone: boolean;
    hasError: boolean;
    error: string | undefined;
    errorDescription: string | undefined;
};
export {};
