export declare type IOptions = object; export interface IConfigurable { defaultOptions: O; getOptions: (options?: Partial) => O; changeOptions: (options: Partial) => O; } export declare abstract class Configurable implements IConfigurable { static mergeOptions(o1: O, o2: Partial | O | undefined): O; static mergeOptions(o1: O | Partial | undefined, o2: O): O; static mergeOptions(o1: Partial | undefined, o2: Partial): Partial; static mergeOptions(o1: Partial, o2: Partial | undefined): Partial; static mergeOptions(o1: Partial | undefined, o2: Partial | undefined): Partial | undefined; abstract defaultOptions: O; getOptions(options?: Partial): O; changeOptions(options: Partial): O; }