import { ColdStorageService, ColdScanFilters, IOResponse, OperationProgressCallback, PlanColdShareData } from '../domain/services/cold-storage-service';
import { DeviceShareInfo } from '../domain/models/device-share-info';
export type { ColdScanFilters, IOResponse, OperationProgressCallback, PlanColdShareData };
export interface SafekeyDeviceInfo {
    freeSlots?: number;
    totalSlots: number;
    usagePercentage: number;
}
export interface SafekeyDeviceCallbacks {
    onTouchRequired?: () => void;
    onProgress?: (io: IOResponse) => void;
    onDeviceInfo?: (info: SafekeyDeviceInfo) => void;
}
export declare class SafekeyDeviceUseCase {
    private coldStorage;
    private _pin;
    constructor(coldStorage: ColdStorageService);
    connect(pin: string, callbacks?: SafekeyDeviceCallbacks): Promise<SafekeyDeviceInfo>;
    disconnect(): Promise<void>;
    getDeviceInfo(): Promise<SafekeyDeviceInfo | undefined>;
    getDeviceId(): Promise<string | undefined>;
    getDevicePassword(): Promise<string | undefined>;
    collectShare(pin: string, filters: ColdScanFilters, onProgress?: OperationProgressCallback): Promise<any>;
    collectAllSharesPlansIds(pin: string, onProgress?: OperationProgressCallback): Promise<string[]>;
    collectAllPlanShares(pin: string, onProgress?: OperationProgressCallback): Promise<DeviceShareInfo[]>;
    distributeShare(data: PlanColdShareData, onProgress?: OperationProgressCallback): Promise<void>;
    private fetchDeviceInfo;
    private buildDeviceInfo;
}
