import { SharedMergingProcessApiRepository, CollectSharesResult, SharedRevealOptions, CustodianShareAccessSnapshot, StartProcessResult } from '../../domain/repositories/shared-merging-process-api-repository';
import { SharedMergingProcessLocalRepository } from '../../domain/repositories/shared-merging-process-local-repository';
import { SharedProtectionPlanRepository } from '../../domain/repositories/shared-protection-plan-repository';
import { ApprovalProcessSnapshot } from '../../domain/models/shared-plan-merge-process';
import { FakeSharedPlanEventListener } from '../services/fake-shared-plan-event-listener';
export declare class FakeSharedMergingProcessApiRepository implements SharedMergingProcessApiRepository {
    private readonly localRepo;
    private readonly planRepo;
    private readonly eventListener;
    private approvalProcesses;
    constructor(localRepo: SharedMergingProcessLocalRepository, planRepo: SharedProtectionPlanRepository, eventListener: FakeSharedPlanEventListener);
    startProcess(_planId: string, _processId: string, _accessIntent?: 'VIEW' | 'EDIT'): Promise<StartProcessResult>;
    getApprovals(processId: string): Promise<ApprovalProcessSnapshot>;
    getAssetsMetadata(processId: string): Promise<{
        assetsMetadata: any;
    }>;
    requestApproval(processId: string): Promise<void>;
    notifyApprovalParticipants(_processId: string): Promise<void>;
    openRevealWindow(_processId: string, options: SharedRevealOptions): Promise<{
        revealStartedAt: Date;
        revealEndsAt: Date;
        timeoutMinutesForClose: number;
    }>;
    abortProcess(_processId: string): Promise<void>;
    closePlan(_processId: string): Promise<void>;
    markSharesCollected(_processId: string): Promise<void>;
    markSharesReconstructed(_processId: string): Promise<void>;
    markDataRevealed(_processId: string): Promise<void>;
    findActiveByPlanId(_planId: string, _tenantId: string): Promise<null>;
    getCustodianShareAccess(_planId: string): Promise<CustodianShareAccessSnapshot>;
    getCustodianShareData(_planId: string): Promise<{
        id: string;
        shares: string[];
        planId: string;
        isMergeAuthority: boolean;
    }>;
    distributeCustodianShareViaMobile(_planId: string): Promise<void>;
    recordCustodianShareClaim(_planId: string, _shareId: string, _deviceId: string, _deviceType: 'SK_MOBILE' | 'SK_PRO'): Promise<void>;
    cancelCustodianShareClaim(_processId: string): Promise<void>;
    releaseCustodianShareViaMobile(processId: string): Promise<void>;
    markCustodianShareAsCollected(_planId: string, _shareId: string): Promise<void>;
    collectShares(processId: string): Promise<CollectSharesResult>;
}
