import { ReactiveControllerHost } from 'lit';
export type IntervalModeType = 'MANUAL' | 'AUTO';
export interface IntervalControllerConfig {
    callback?: () => void;
    mode?: IntervalModeType;
    timer?: number;
}
type CallbackFunction = () => void;
export declare class IntervalController {
    _host: ReactiveControllerHost;
    private _timerRef?;
    private _timer;
    _callback: CallbackFunction | null;
    private _mode;
    constructor(host: ReactiveControllerHost, { callback, mode, timer }: IntervalControllerConfig);
    startInterval(): void;
    stopInterval(): void;
    hostConnected(): void;
    hostDisconnected(): void;
}
export {};
