import APIRepository, { APIRepositoryProps } from '../../../../../core/modules/_shared/infrastructure/api/api-repository';
import { SharedMergingProcessApiRepository, OpenRevealWindowResult, CollectSharesResult, GetAssetsMetadataResult, SharedRevealOptions, ActiveProcessSnapshot, CustodianShareAccessSnapshot, StartProcessResult } from '../../domain/repositories/shared-merging-process-api-repository';
import { ApprovalProcessSnapshot } from '../../domain/models/shared-plan-merge-process';
export declare class AppSharedMergingProcessApiRepository extends APIRepository implements SharedMergingProcessApiRepository {
    constructor(props: APIRepositoryProps);
    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>;
    getCustodianShareAccess(processId: string): Promise<CustodianShareAccessSnapshot>;
    getCustodianShareData(processId: 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(processId: string, shareId: string): Promise<void>;
    findActiveByPlanId(planId: string, tenantId: string): Promise<ActiveProcessSnapshot | null>;
    private normalizeCollectedShare;
}
