import { Definitions, ExternalConfig, InternalConfig } from "./definition";
import { Base } from "./base";
export type NamespacedOptions = {
    [key: string]: Base.Config;
};
export type ProviderOptions<O extends NamespacedOptions> = Partial<{
    [K in keyof O]: ExternalConfig<O[K]>;
}>;
export type InternalOptions<O extends NamespacedOptions> = {
    [K in keyof O]: InternalConfig<O[K]>;
};
export type Defaults<O extends NamespacedOptions> = {
    [K in keyof O]: Definitions<O[K]>;
};
export declare class OptionsConfig<O extends NamespacedOptions> {
    readonly defaults: Defaults<O>;
    constructor(defaults: Defaults<O>);
    normalize(options: ProviderOptions<O>): InternalOptions<O>;
}
//# sourceMappingURL=create.d.ts.map