dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
24 lines (23 loc) • 1.06 kB
TypeScript
import { IDisposable } from './lifecycle';
export interface Event<T> {
(listener: (e: T) => any): IDisposable;
}
export interface EmitterOptions {
replay?: boolean;
}
export declare namespace Event {
const any: <T>(...children: Event<T>[]) => Event<T>;
}
export declare class Emitter<T> implements IDisposable {
private readonly options?;
private _event?;
private _last?;
private _listeners;
private _disposed;
constructor(options?: EmitterOptions | undefined);
get event(): Event<T>;
fire(e: T): void;
dispose(): void;
}
export declare function addDisposableWindowListener<K extends keyof WindowEventMap>(element: Window, type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;
export declare function addDisposableListener<K extends keyof HTMLElementEventMap>(element: HTMLElement, type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): IDisposable;