export interface CompilerOptions {
    output?: string;
    target?: 'es5' | 'es2015' | 'es2020' | 'esnext';
    sourceMap?: boolean;
    minify?: boolean;
    noTypeCheck?: boolean;
    strict?: boolean;
    outDir?: string;
    watch?: boolean;
    compileOnSave?: boolean;
}
export interface SomonConfig {
    compilerOptions?: CompilerOptions;
    moduleSystem?: ModuleSystemConfig;
    bundle?: BundleConfig;
}
export declare class ConfigError extends Error {
    readonly details: ConfigValidationError[];
    constructor(message: string, details?: ConfigValidationError[]);
}
export interface ConfigValidationError {
    path: string;
    message: string;
}
export interface ModuleSystemConfig {
    resolution?: {
        baseUrl?: string;
        paths?: Record<string, string[]>;
        extensions?: string[];
        moduleDirectories?: string[];
        allowJs?: boolean;
        resolveJsonModule?: boolean;
    };
    loading?: {
        encoding?: string;
        cache?: boolean;
        circularDependencyStrategy?: 'error' | 'warn' | 'ignore';
    };
    compilation?: CompilerOptions;
    metrics?: boolean;
    circuitBreakers?: boolean;
    logger?: boolean;
    managementServer?: boolean;
    managementPort?: number;
    resourceLimits?: {
        maxMemoryBytes?: number;
        maxFileHandles?: number;
        maxCachedModules?: number;
        checkInterval?: number;
    };
    operationTimeout?: number;
}
export interface BundleConfig {
    format?: 'commonjs';
    minify?: boolean;
    sourceMaps?: boolean;
    inlineSources?: boolean;
    externals?: string[];
    output?: string;
}
export declare function loadConfig(startPath: string): SomonConfig;
//# sourceMappingURL=config.d.ts.map