///
import { EventEmitter } from "events";
declare type Awaitable = Promise | T;
interface PollEvents {
item: (item: T) => void;
listing: (items: T[]) => void;
end: () => void;
}
export default interface Poll {
on>(event: U, listener: PollEvents[U]): this;
once>(event: U, listener: PollEvents[U]): this;
off>(event: U, listener: PollEvents[U]): this;
}
export interface PollConfiguration {
frequency: number;
get: () => Awaitable;
identifier: keyof T;
}
export default class Poll extends EventEmitter {
frequency: number;
interval: NodeJS.Timeout;
processed: Set;
constructor({ frequency, get, identifier }: PollConfiguration);
end(): void;
}
export {};