import PlanProtocolServicesRegistry from '../../../../protection-plan/domain/services/plan-protocol-services-registry';
import MergingProcessRepository from '../../../../protection-plan/domain/repositories/merging-process-repository';
export type MobileDeviceAuthorization = {
    deviceId: string;
    devicePassword: string;
};
export type MobileDeviceSubscribeCallbacks = {
    onTokenReceived(token: string, expiresAt: Date): void;
    onAuthorized(auth: MobileDeviceAuthorization): void;
    onError?(error: string): void;
};
export declare class AuthorizeMergeAuthorityMobileDeviceUseCase {
    private registry;
    private mergeRepo;
    constructor(registry: PlanProtocolServicesRegistry, mergeRepo: MergingProcessRepository);
    subscribe(params: {
        clientId: string;
        callbacks: MobileDeviceSubscribeCallbacks;
    }): void;
    requestToken(clientId: string): void;
    unsubscribe(clientId: string): void;
}
