export interface Interaction { target: EventTarget; events: string[]; } export declare abstract class Base { protected abstract onInteraction: () => void; protected abstract onInterval: () => void; protected callback: () => void; private interactions; private timeout; private factor; private activeIntervalId; /** * Sets time after which it's idle if no interaction occurs. * * @param factor amount of miliseconds `timeout` represents, default 60000 (a minute) */ within(timeout: number, factor?: number): this; do(callback: () => void): this; start(): this; stop(): this; protected addListeners(): void; protected removeListeners(): void; protected pushDefaultInteractions(): void; protected concatInteractions(interactions: Interaction[] | Interaction): void; protected clearInterval(): void; protected setInterval(): void; }