import { OperationConfig, OperationStatus, OperationState } from '../components/ControlScreen';
export interface UseNfcOperationsProps {
    operationConfigs: Record<string, OperationConfig>;
    onOperationComplete?: (operationType: string, result: any) => void;
    onError?: (error: string) => void;
    translate?: (key: string) => string;
}
export interface UseNfcOperationsReturn {
    operations: Record<string, OperationStatus>;
    isScanning: boolean;
    isTagConnected: boolean;
    solenoidRefreshStep: 'write' | 'read';
    solenoidStatesFetched: boolean;
    solenoidStates: Record<number, boolean>;
    refreshSolenoidStates: () => Promise<void>;
    handleOperation: (operationType: string) => Promise<void>;
    handleWriteOperation: (operationType: string) => Promise<void>;
    connectToTag: () => Promise<void>;
    resetOperation: (operationType: string) => void;
    updateOperationStatus: (operationType: string, updates: Partial<OperationStatus>) => void;
    getOperationButtonText: (operationType: string) => string;
    getStatusColor: (state: OperationState) => string;
    transceiveWithTimeout: (apdu: number[], timeoutMs?: number) => Promise<number[]>;
}
export declare const useNfcOperations: ({ operationConfigs, onOperationComplete, onError, translate }: UseNfcOperationsProps) => UseNfcOperationsReturn;
export default useNfcOperations;
//# sourceMappingURL=useNfcOperations.d.ts.map