source-scraper-core
Version:
Core files for the SourceScraper-Project
17 lines (16 loc) • 959 B
TypeScript
export declare type IOptions = object;
export interface IConfigurable<O extends IOptions = IOptions> {
defaultOptions: O;
getOptions: (options?: Partial<O>) => O;
changeOptions: (options: Partial<O>) => O;
}
export declare abstract class Configurable<O extends IOptions = IOptions> implements IConfigurable<O> {
static mergeOptions<O extends IOptions>(o1: O, o2: Partial<O> | O | undefined): O;
static mergeOptions<O extends IOptions>(o1: O | Partial<O> | undefined, o2: O): O;
static mergeOptions<O extends IOptions>(o1: Partial<O> | undefined, o2: Partial<O>): Partial<O>;
static mergeOptions<O extends IOptions>(o1: Partial<O>, o2: Partial<O> | undefined): Partial<O>;
static mergeOptions<O extends IOptions>(o1: Partial<O> | undefined, o2: Partial<O> | undefined): Partial<O> | undefined;
abstract defaultOptions: O;
getOptions(options?: Partial<O>): O;
changeOptions(options: Partial<O>): O;
}