import { DbSchema } from '@based/schema'; export type EventMap = { schema: DbSchema; info: string; error: string; }; export type Event = keyof EventMap; export type Listener = (data: T) => void; export declare class Emitter { listeners: { [E in Event]?: Listener[]; }; emit(type: E, val: EventMap[E]): void; on(type: E, fn: Listener): void; removeAllListeners(): void; once(type: E): Promise; once(type: E, fn: Listener): void; off(type: E, fn?: Listener): void; }