export type LocaleCode = 'en' | 'es' | 'ca' | 'pt' | 'fr' | 'de' | (string & {}); /** Built-in UI / form / validation strings. Apps can merge overrides. */ export interface UiMessages { save: string; cancel: string; delete: string; reset: string; submit: string; close: string; optional: string; required: string; loading: string; errorSummary: string; addItem: string; removeItem: string; noItems: string; /** CommandPalette */ noResults: string; commandPalette: string; commandPalettePlaceholder: string; /** FileUploader */ uploadFiles: string; uploadHelper: string; dropToUpload: string; dropOrBrowse: string; browse: string; browseButton: string; viewMode: string; listView: string; gridView: string; clearAll: string; upload: string; change: string; remove: string; edit: string; removeNamed: string; selectedFiles: string; addProfilePhoto: string; media: string; imageRequired: string; typeNotAllowed: string; exceedsMaxSize: string; /** Validation */ fieldRequired: string; invalidEmail: string; invalidUrl: string; minLength: string; maxLength: string; minValue: string; maxValue: string; patternMismatch: string; } export type MessageKey = keyof UiMessages; export type MessageParams = Record; /** Built-in dictionaries keyed by primary language subtag (`es-MX` → `es`). */ export declare const UI_DICTIONARIES: Record; export declare function resolveLocaleTag(locale: string): string; export declare function getDictionary(locale: string, overrides?: Partial): UiMessages; /** Interpolate `{name}` placeholders in a message template. */ export declare function formatMessage(template: string, params?: MessageParams): string;