import { NativeEventEmitter, EmitterSubscription } from 'react-native';
import { IRfidBleNative, RfidReader, EpcReply } from './NativeModule';
export * from './NativeModule';
export interface EventType<_T = undefined> {
}
export declare const RfidBleEvent: {
    DEBUG: EventType<unknown>;
    START_SCANNING: EventType<unknown>;
    STOP_SCANNING: EventType<unknown>;
    READER_RECEIVED: EventType<RfidReader>;
    READER_CONNECTED: EventType<RfidReader>;
    READER_DISCONNECTED: EventType<RfidReader>;
    EPC_REPLIES_READ: EventType<EpcReply[]>;
};
export declare const AUTO_SCAN_DEFAULT_DURATION = 6000;
declare class RfidBle extends NativeEventEmitter implements IRfidBleNative {
    private __nativeModule;
    private __autoScanTimeoutID;
    constructor(__nativeModule: IRfidBleNative);
    requestEnabled(): Promise<void>;
    autoScan(duration?: number): Promise<void>;
    startScan(): Promise<void>;
    stopScan(): Promise<void>;
    connectToReader(readerAddress: string): Promise<void>;
    disconnect(): Promise<void>;
    on<E extends EventType>(eventType: E, listener: (arg: E extends EventType<infer T> ? T : never) => any): EmitterSubscription;
}
declare const _default: RfidBle;
export default _default;
