import { SharedMergingProcessRepository } from '../../domain/repositories/shared-merging-process-repository';
import { SharedMergingProcessLocalRepository } from '../../domain/repositories/shared-merging-process-local-repository';
import { ActiveProcessSnapshot, CollectSharesResult, GetAssetsMetadataResult, OpenRevealWindowResult, SharedMergingProcessApiRepository, SharedRevealOptions, StartProcessResult } from '../../domain/repositories/shared-merging-process-api-repository';
import { SharedPlanMergeProcess, ApprovalProcessSnapshot } from '../../domain/models/shared-plan-merge-process';
export declare class AppSharedMergingProcessRepository implements SharedMergingProcessRepository {
    private readonly local;
    private readonly api;
    constructor(local: SharedMergingProcessLocalRepository, api: SharedMergingProcessApiRepository);
    findById(id: string): Promise<SharedPlanMergeProcess | null>;
    findByPlanId(planId: string): Promise<SharedPlanMergeProcess | null>;
    save(process: SharedPlanMergeProcess): Promise<void>;
    delete(id: string): Promise<void>;
    startProcess(planId: string, processId: string, accessIntent?: 'VIEW' | 'EDIT'): Promise<StartProcessResult>;
    getApprovals(processId: string): Promise<ApprovalProcessSnapshot>;
    getAssetsMetadata(processId: string): Promise<GetAssetsMetadataResult>;
    requestApproval(processId: string): Promise<void>;
    notifyApprovalParticipants(processId: string): Promise<void>;
    openRevealWindow(processId: string, options: SharedRevealOptions): Promise<OpenRevealWindowResult>;
    collectShares(processId: string): Promise<CollectSharesResult>;
    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<ActiveProcessSnapshot | null>;
    getCustodianShareAccess(planId: string): Promise<import("../../domain/repositories/shared-merging-process-api-repository").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(planId: string): Promise<void>;
    markCustodianShareAsCollected(processId: string, shareId: string): Promise<void>;
}
