///
import { EventEmitter } from 'events';
import { EventListener, SwitchEvent, ReleaseEvent, PressEvent, HoldEvent } from './events';
import { BitValue } from 'libgpiod';
export declare class Debouncer {
private readonly timeout;
private readonly pressValue?;
private readonly holdTimes?;
private readonly emitter;
private lastInstantValue?;
private lastStableValue?;
private lastChangeTime?;
private lastPressTime?;
private nextHoldIndex;
constructor(emitter: EventEmitter, timeout: number, pressValue?: BitValue | undefined, holdTimes?: number[] | undefined);
private switch;
private hold;
private checkState;
addListener(eventName: 'release', listener: EventListener): void;
addListener(eventName: 'switch', listener: EventListener): void;
addListener(eventName: 'press', listener: EventListener): void;
addListener(eventName: 'hold', listener: EventListener): void;
removeListener(eventName: 'release', listener: EventListener): void;
removeListener(eventName: 'switch', listener: EventListener): void;
removeListener(eventName: 'press', listener: EventListener): void;
removeListener(eventName: 'hold', listener: EventListener): void;
once(eventName: 'release', listener: EventListener): void;
once(eventName: 'switch', listener: EventListener): void;
once(eventName: 'press', listener: EventListener): void;
once(eventName: 'hold', listener: EventListener): void;
}
//# sourceMappingURL=debouncer.d.ts.map