import { TapConfigurator } from './tap-configurator';
import { ComProtocol } from '@iotize/device-client.js/protocol/api';
/**
 * Describe Tap Device behaviors.
 */
export interface TapInterface {
    /**
     * Attempt connection
     * @param protocol
     */
    connect(protocol?: ComProtocol): Promise<void>;
    /**
     * Attempt disconnection
     */
    disconnect(): Promise<void>;
    /**
     * Configure this with the given TapConfigurator.
     * Return a promise with the configurator result
     *
     * @param configurator
     */
    configure<DataType>(configurator: TapConfigurator<DataType>): Promise<DataType>;
}
