export declare type Optional = { [P in keyof T]+?: T[P]; }; export declare type Map = { [key: string]: V; }; export declare type Constructor = { new (...params: any[]): T; }; export declare type Callback = (value: T) => void; export declare type ErrorHandler = (error: Error) => void; export declare type AllowExtra = { [K in keyof T]: T[K]; } & { [key: string]: any; };