import { IGPIOController, GPIOPin, GPIO } from './definitions';
import { Tap } from '@iotize/tap';
export declare enum GPIO_MODE {
    INPUT_FLOATING = 0,
    OUTPUT_OPENDRAIN = 1,
    OUTPUT_PUSHPULL = 3,
    INPUT_PULLUP = 4,
    OUTPUT_OPENDRAIN_PULLUP = 5,
    INPUT_PULLDOWN = 8,
    INPUT_ANALOG_FLOATING = 128,
    OUTPUT_ANALOG_PWM = 131
}
export declare class TapGPIOController implements IGPIOController {
    tap: Tap;
    conf: GPIOPin;
    _state?: GPIO.Signal;
    _mode?: GPIO.Mode;
    constructor(tap: Tap, conf: GPIOPin);
    toggle(): void | Promise<void>;
    low(): void | Promise<void>;
    high(): void | Promise<void>;
    read(): GPIO.Signal | Promise<GPIO.Signal>;
    setup(direction?: GPIO.Mode, initial?: GPIO.Signal): Promise<void>;
}
