import { DeviceShareInfo } from '../../domain/models/device-share-info';
import { SafekeyMigrationRepository } from '../../domain/repositories/safekey-migration-repository';
import { ColdScanFilters, ColdStorageService, DeviceInfo, OperationProgressCallback, PlanColdShareData } from '../../domain/services/cold-storage-service';
import { HttpClient } from '../../../core/modules/_shared/infrastructure/http/http-client';
import BrowserSessionStorage from '../../../core/modules/_shared/infrastructure/session-storage/browser-session-storage';
export interface SafekeyColdStorageServiceProps {
    secureStorage: {
        getKey: (params?: any) => Promise<string>;
    };
    httpClient: HttpClient;
    enableMergeAuthorityAuthCheck?: boolean;
    migrationRepo: SafekeyMigrationRepository;
}
export default class SafekeyColdStorageService implements ColdStorageService {
    private props;
    private sessionStorage;
    private operationHandler;
    private lStorage;
    constructor(props: SafekeyColdStorageServiceProps);
    isAuthenticated(): Promise<boolean>;
    getStorage(): Promise<BrowserSessionStorage>;
    connect(context: {
        pin: string;
    }): Promise<void>;
    touch(context: {
        id?: string;
        pin: string;
    }, onIOCallback?: OperationProgressCallback): Promise<undefined>;
    getDeviceInfo(context?: {
        id: string;
    }): Promise<Omit<DeviceInfo, 'appPassword'> | undefined>;
    getDeviceId(): Promise<string | undefined>;
    getDevicePassword(): Promise<string | undefined>;
    disconnect(): Promise<void>;
    collectShare(validatorPin: string, filters: ColdScanFilters, onIOCallback?: OperationProgressCallback): Promise<DeviceShareInfo | undefined>;
    private findLegacyPlanId;
    private findLegacyPlanShare;
    collectAllSharesPlansIds(validatorPin: string, onIOCallback?: OperationProgressCallback): Promise<string[]>;
    collectAllPlanShares(validatorPin: string, onIOCallback?: OperationProgressCallback): Promise<DeviceShareInfo[]>;
    distributeShare(params: PlanColdShareData, onIOCallback?: OperationProgressCallback): Promise<void>;
    insert(id: string): Promise<void>;
    private saveDeviceInfo;
    private readDeviceAppCredentials;
    private readDeviceInfoInDevice;
    private writeDeviceInfoInDevice;
    private fetchPlanIdsFromSafeKey;
    private connectedDeviceInfo;
    private handleError;
    private fetchDataFromSafeKey;
}
