export interface Emitter<T = Record<string, unknown>> {
    on(key: keyof T, fn: Fn): void;
    emit(key: keyof T, ...arg: any[]): void;
    remove(key: keyof T, fn: Fn, clear?: boolean): void;
}
export declare function createEmitter<T = Record<string, unknown>>(): Emitter<T>;
declare const globalEmitter: Emitter<Record<string, unknown>>;
export default globalEmitter;
