import { type ConfigBuilder } from '../api/config-builder.js';
import { type ConfigSource } from '../spi/config-source.js';
import { type Config } from '../api/config.js';
import { type ClassConstructor } from '../../../business/utils/class-constructor.type.js';
import { type Converter } from '../spi/converter.js';
import { type ObjectMapper } from '../../mapper/api/object-mapper.js';
import { type ConfigProvider } from '../api/config-provider.js';
export declare class LayeredConfigBuilder implements ConfigBuilder {
    private provider;
    private readonly mapper;
    private readonly prefix?;
    private readonly sources;
    private readonly converters;
    private mergeSourceValues;
    constructor(provider: ConfigProvider, mapper: ObjectMapper, prefix?: string);
    withDefaultSources(): ConfigBuilder;
    withConverter<R extends object>(cls: ClassConstructor<R>, priority: number, converter: Converter<R>): ConfigBuilder;
    withDefaultConverters(): ConfigBuilder;
    withSources(...sources: ConfigSource[]): ConfigBuilder;
    withMergeSourceValues(mergeSourceValues: boolean): ConfigBuilder;
    build(): Config;
}
