import type { I18n } from 'vue-i18n'; export interface LocaleLoaderConfig { /** Namespace files to load per locale, e.g. ['common', 'user', ...]. */ scopes: string[]; /** Loads one namespace's messages for a locale. App owns glob/import resolution. */ loadResource: (name: string, locale: string) => Promise; } export type LocaleMessagesLoader = (i18n: I18n, locale: string) => Promise; /** Flat dotted keys with `{ message }` unwrap (tolerates a plain string value). */ export declare function makeFlatLoader(config: LocaleLoaderConfig): LocaleMessagesLoader; /** Nested keys: each namespace's resource object kept under its scope name. */ export declare function makeNestedLoader(config: LocaleLoaderConfig): LocaleMessagesLoader; //# sourceMappingURL=loaders.d.ts.map