import { Fs } from '../../../domain/fs/type';
import { Provider } from '../type';
import { Root } from './root';
import { Module } from './module';
import { Service } from './service';
import { Language } from './language';
import { Taxonomy } from './taxonomy';
import { Dir } from "./dir";
/**
 * Config entity that aggregates all configuration components
 * Matches the golang version structure
 */
export declare class Config {
    private configSourceFs;
    private provider;
    private root;
    private dir;
    private module;
    private service;
    private language;
    private taxonomy;
    constructor(configSourceFs: Fs, provider: Provider, root: Root, dir: Dir, module: Module, service: Service, language: Language, taxonomy: Taxonomy);
    fs(): Fs;
    getProvider(): Provider;
    theme(): string;
    getDir(): Dir;
    /**
     * Get Root entity
     */
    getRoot(): Root;
    /**
     * Get Module entity
     */
    getModule(): Module;
    /**
     * Get Service entity
     */
    getService(): Service;
    /**
     * Get Language entity (optional)
     */
    getLanguage(): Language;
    /**
     * Get Taxonomy entity (optional)
     */
    getTaxonomy(): Taxonomy;
    /**
     * Set Language entity
     */
    setLanguage(language: Language): void;
    /**
     * Set Taxonomy entity
     */
    setTaxonomy(taxonomy: Taxonomy): void;
    /**
     * Validate the configuration
     */
    validate(): boolean;
}
/**
 * Creates a new Config instance
 */
export declare function newConfig(configSourceFs: Fs, provider: Provider, root: Root, dir: Dir, module: Module, service: Service, language: Language, taxonomy: Taxonomy): Config;
//# sourceMappingURL=config.d.ts.map