import { SharedPlanConfigurationProcess } from '../../domain/models/shared-plan-configuration-process';
import { SharedPlanShare } from '../../domain/models/shared-plan-share';
import { SharedConfigurationProcessRepository } from '../../domain/repositories/shared-configuration-process-repository';
import { SharedProtectionPlanRepository } from '../../domain/repositories/shared-protection-plan-repository';
import { ShareEncryptionService } from '../../domain/services/share-encryption-service';
export declare class DistributeSharesUseCase {
    private readonly planRepository;
    private readonly configRepository;
    private readonly encryptionService;
    constructor(planRepository: SharedProtectionPlanRepository, configRepository: SharedConfigurationProcessRepository, encryptionService: ShareEncryptionService);
    execute(process: SharedPlanConfigurationProcess, shares: SharedPlanShare[], assetsMetadata?: any, masterKey?: string, mergeProcessId?: string): Promise<void>;
    private sendShards;
    private encryptShardGroup;
    private wrapEncrypted;
    private encryptCustodianPair;
    private handleEncryptShares;
}
