/** * Config Resolution * * Resolves complete consent config with all defaults applied. * * @module @kya-os/consent/resolution/resolve-config */ import type { ConsentConfig, ConsentConfigWithMeta, ResolvedConsentConfig, ConsentCustomField, ResolvedUI, ResolvedTerms, ResolvedSuccess } from "../types/config.types.js"; import type { AuthMode } from "../types/modes.types.js"; /** * Resolve custom fields with validation * * @param fields - Custom fields array * @returns Validated custom fields (max 10) */ export declare function resolveCustomFields(fields?: ConsentCustomField[]): ConsentCustomField[]; /** * Resolve expiration days with bounds checking * * @param days - Expiration days from config * @returns Valid expiration days (1-365) */ export declare function resolveExpirationDays(days?: number): number; /** * Determine the effective auth mode from config * * @param config - Consent config * @returns Effective auth mode */ export declare function determineAuthMode(config?: ConsentConfig): AuthMode; /** * Get default consent config * * @returns Default consent config with all fields undefined */ export declare function getDefaultConsentConfig(): ConsentConfigWithMeta; /** * Resolve UI settings with all defaults * * @param ui - Partial UI config * @returns Fully resolved UI settings */ export declare function resolveUISettings(ui?: ConsentConfig["ui"]): ResolvedUI; /** * Resolve terms settings with all defaults * * @param terms - Partial terms config * @returns Fully resolved terms settings */ export declare function resolveTermsSettings(terms?: ConsentConfig["terms"]): ResolvedTerms; /** * Resolve success settings with all defaults * * @param success - Partial success config * @returns Fully resolved success settings */ export declare function resolveSuccessSettings(success?: ConsentConfig["success"]): ResolvedSuccess; /** * Resolve complete consent config with all defaults * * @param config - Partial consent config * @param agentName - Optional agent name for placeholder substitution * @returns Fully resolved config ready for rendering */ export declare function resolveConsentConfig(config?: ConsentConfig, agentName?: string): ResolvedConsentConfig; /** * Merge two config objects, with override taking precedence * * @param base - Base config * @param override - Override config * @returns Merged config */ export declare function mergeConsentConfigs(base: ConsentConfig, override?: ConsentConfig): ConsentConfig; /** * Check if config has any customization * * @param config - Config to check * @returns True if any non-default values are set */ export declare function hasCustomConfig(config?: ConsentConfig): boolean; //# sourceMappingURL=resolve-config.d.ts.map