20 lines
No EOL
679 B
TypeScript
20 lines
No EOL
679 B
TypeScript
import {ConfigurationModel} from "../Database/Models/ConfigurationModel";
|
|
import {Model} from "../Database/Models/Model";
|
|
import {ValueOf} from "../types/Class";
|
|
import {Nullable} from "../types/Nullable";
|
|
import {ConfigurationTransformer} from "./ConfigurationTransformer";
|
|
|
|
|
|
export interface ConfigurationProvider<
|
|
TProviderModel extends ConfigurationModel = ConfigurationModel,
|
|
TRuntimeConfiguration extends object = object
|
|
> {
|
|
get(path: string): Nullable<TProviderModel>;
|
|
getAll(): TProviderModel[];
|
|
|
|
get defaults(): TRuntimeConfiguration;
|
|
|
|
save(value: Omit<ConfigurationModel, "id"> & Partial<Model>): void;
|
|
|
|
getTransformer(): ConfigurationTransformer;
|
|
} |