import { Fs } from '@internal/domain/fs/type';
import { Provider } from '../type';
import { Root } from './root';
import { Module } from './module';
import { Service } from './service';
import { Social } from './social';
import { Language } from './language';
import { Taxonomy } from './taxonomy';
import { Dir } from "./dir";
import { Markdown } from './markdown';
export declare class Config {
    private configSourceFs;
    private provider;
    private root;
    private dir;
    private module;
    private service;
    private social;
    private language;
    private taxonomy;
    private markdown;
    constructor(configSourceFs: Fs, provider: Provider, root: Root, dir: Dir, module: Module, service: Service, social: Social, language: Language, taxonomy: Taxonomy, markdown: Markdown);
    fs(): Fs;
    getProvider(): Provider;
    theme(): string;
    getDir(): Dir;
    getRoot(): Root;
    getModule(): Module;
    getService(): Service;
    getSocial(): Social;
    getLanguage(): Language;
    getTaxonomy(): Taxonomy;
    getMarkdown(): Markdown;
    setLanguage(language: Language): void;
    setTaxonomy(taxonomy: Taxonomy): void;
    setMarkdown(markdown: Markdown): void;
    validate(): boolean;
}
export declare function newConfig(configSourceFs: Fs, provider: Provider, root: Root, dir: Dir, module: Module, service: Service, social: Social, language: Language, taxonomy: Taxonomy, markdown: Markdown): Config;
