/**
 * Enterprise Admin Configuration
 *
 * Loads admin-level configuration from system paths:
 * - /etc/codebuddy/requirements.toml  (enforced, cannot be overridden by users)
 * - /etc/codebuddy/managed_config.toml (defaults, user can override)
 *
 * Gracefully handles missing files for non-enterprise deployments.
 */
/**
 * Enforced requirements that cannot be overridden by users
 */
export interface AdminRequirements {
    maxCostLimit?: number;
    allowedModels?: string[];
    disabledTools?: string[];
    networkAccess?: boolean;
    sandboxMode?: string;
}
/**
 * Managed defaults that users can override
 */
export interface AdminManagedDefaults {
    model?: string;
    securityMode?: string;
    maxToolRounds?: number;
}
/**
 * Combined admin configuration
 */
export interface AdminConfig {
    /** Cannot be overridden by users */
    requirements: AdminRequirements;
    /** Can be overridden by users */
    managedDefaults: AdminManagedDefaults;
}
/**
 * Load admin configuration from /etc/codebuddy/.
 *
 * Returns an AdminConfig with empty objects if no admin config files exist.
 * This is the expected case for non-enterprise deployments.
 */
export declare function loadAdminConfig(configDir?: string): AdminConfig;
/**
 * Apply admin requirements to a user configuration.
 *
 * - Requirements override user values unconditionally
 * - Managed defaults fill in missing values only
 *
 * @param userConfig - The user's configuration object
 * @param adminConfig - Optional pre-loaded admin config (loads from disk if omitted)
 * @returns A new config object with admin policies applied
 */
export declare function applyAdminRequirements(userConfig: Record<string, unknown>, adminConfig?: AdminConfig): Record<string, unknown>;
