export type TaskStatus = (typeof TaskStatuses)[keyof typeof TaskStatuses];
/**
 * See also: {@link ApiTaskStatus}
 */
export declare const TaskStatuses: {
    readonly EMPTY: "EMPTY";
    readonly FINISHED: "FINISHED";
    readonly PROCESSING: "PROCESSING";
    readonly DETAILS_REQUIRED: "DETAILS_REQUIRED";
    readonly SIGN: "SIGN";
    readonly DOWNLOAD: "DOWNLOAD";
    readonly SUBMIT: "SUBMIT";
    readonly ERROR: "ERROR";
    readonly SIGNED: "SIGNED";
    readonly REMOVING: "REMOVING";
    readonly UNKNOWN: "UNKNOWN";
};
/**
 * Used to define the priority of the statuses while processing the capabilities.
 */
export declare const TASK_STATUS_PRIORITY: Record<TaskStatus, number>;
type Reason = 'rootLegalEntityIsEmpty' | 'newEntityAlwaysEmpty' | 'legalRepresentativeNeeded' | 'bankAccountNeeded' | 'missingRequiredDecisionMakers' | 'missingRequiredTrustMembers' | 'invalidInputError' | 'dataMissingError' | 'dataReviewNeeded' | 'pendingStatusError' | 'pendingCapabilities' | 'invalidCapabilities' | 'allCapabilitiesValid' | 'noIssuesFound';
export interface TaskStatusWithReason {
    status: TaskStatus;
    reason: Reason;
    details?: any;
}
export declare const TASK_STATUS_POLLING_INTERVAL_MS = 3000;
export declare const TASK_STATUS_COMPLETED_POLLING_INTERVAL_MS = 6000;
export {};
