import { ColdScanFilters } from '../../../domain/services/cold-storage-service';
import { SafekeyDeviceUseCase, SafekeyDeviceInfo } from '../../../application/safekey-device-use-case';
import { DeviceShareInfo } from '../../../domain/models/device-share-info';
export type SafekeyDeviceState = 'CONNECT_DEVICE' | 'TOUCH_DEVICE_BUTTON' | 'ERROR' | 'SUCCESS';
export default function useSafekeyDevice(): {
    connect: (pin: string) => Promise<void>;
    disconnect: () => Promise<void>;
    disconnecting: boolean;
    write: (data: Parameters<SafekeyDeviceUseCase["distributeShare"]>[0], onProgress?: Parameters<SafekeyDeviceUseCase["distributeShare"]>[1]) => Promise<void>;
    getDeviceId: () => Promise<string | undefined>;
    collectShare: (pin: string, filters: ColdScanFilters) => Promise<DeviceShareInfo | undefined>;
    collectAllPlanShares: (pin: string) => Promise<ReturnType<SafekeyDeviceUseCase["collectAllPlanShares"]>>;
    state: SafekeyDeviceState;
    error: string | undefined;
    loginAttempts: {
        count: number;
        total: number;
    };
    pinValidationTimeout: number | undefined;
    device: SafekeyDeviceInfo | undefined;
};
