/**
 * Canonical configuration schema for Legal Markdown runtime behavior.
 *
 * @example
 * ```ts
 * const cfg: LegalMdConfig = {
 *   ...DEFAULT_CONFIG,
 *   logging: { ...DEFAULT_CONFIG.logging, level: 'info' },
 * };
 * ```
 */
export interface LegalMdConfig {
    paths: {
        images: string;
        styles: string;
        input: string;
        output: string;
        archive: string;
    };
    logging: {
        level: 'error' | 'warn' | 'info' | 'debug';
        debug: boolean;
    };
    processing: {
        highlight: boolean;
        enableFieldTracking: boolean;
        astFieldTracking: boolean;
        logicBranchHighlighting: boolean;
        validationMode: 'strict' | 'permissive' | 'auto';
        locale: string;
    };
    pdf: {
        connector: 'auto' | 'puppeteer' | 'system-chrome' | 'weasyprint';
        format: 'A4' | 'Letter';
        margin: {
            top: string;
            bottom: string;
            left: string;
            right: string;
        };
    };
}
/**
 * Default Legal Markdown configuration values.
 *
 * @example
 * ```ts
 * import { DEFAULT_CONFIG } from './schema.js';
 *
 * console.log(DEFAULT_CONFIG.pdf.connector); // "auto"
 * ```
 */
export declare const DEFAULT_CONFIG: LegalMdConfig;
declare function asEnum<T extends string>(value: unknown, allowed: Set<T>, fallback: T, fieldName: string, errors: string[]): T;
export declare function validateConfig(config: unknown): LegalMdConfig;
export { asEnum as _asEnum };
//# sourceMappingURL=schema.d.ts.map