import { CollectedShare, SharedPlanMergeProcess, SharedPlanMergeProcessProps } from '../../../../src/shared-configuration/modules/shared-protection-plan/domain/models/shared-plan-merge-process';
export declare class CollectedShareGenerator {
    static random({ id, data, key, }?: Partial<CollectedShare>): CollectedShare;
    static randomList(count?: number): CollectedShare[];
}
export declare class SharedPlanMergeProcessGenerator {
    static random({ id, planId, step, requiredShares, authenticationMethods, moderators, storageLayers, collectedShares, authenticatedMethods, approvedModeratorIds, collectedStorageLayerIds, createdAt, }?: Partial<SharedPlanMergeProcessProps>): SharedPlanMergeProcess;
    /** Freshly created process — PENDING, nothing collected. */
    static pending({ planId, requiredShares, storageLayers, }?: {
        planId?: string;
        requiredShares?: number;
        storageLayers?: string[];
    }): SharedPlanMergeProcess;
    /** Process awaiting authentication. */
    static pendingAuthentication({ planId, requiredShares, }?: {
        planId?: string;
        requiredShares?: number;
    }): SharedPlanMergeProcess;
    /** Process awaiting moderator approval (moderated plan). */
    static waitingForPermission({ planId, moderatorCount, }?: {
        planId?: string;
        moderatorCount?: number;
    }): SharedPlanMergeProcess;
    /** Process collecting shares from storage layers. */
    static collectingShares({ planId, requiredShares, collectedCount, }?: {
        planId?: string;
        requiredShares?: number;
        collectedCount?: number;
    }): SharedPlanMergeProcess;
    /** Process with enough shares — ready to reveal. */
    static revealing({ planId, requiredShares, }?: {
        planId?: string;
        requiredShares?: number;
    }): SharedPlanMergeProcess;
    /** Completed (data revealed). */
    static revealed({ planId }?: {
        planId?: string;
    }): SharedPlanMergeProcess;
    /** Failed process. */
    static failed({ planId }?: {
        planId?: string;
    }): SharedPlanMergeProcess;
    /** Process with all auth methods checked. */
    static fullyAuthenticated({ planId, }?: {
        planId?: string;
    }): SharedPlanMergeProcess;
}
