/**
 * PrimeStyle SDK — Internationalisation module
 *
 * Usage:
 *   import { createT, SUPPORTED_LOCALES } from "../i18n";
 *   const t = createT("ja");
 *   t("Virtual Try-On");  // → "バーチャル試着"
 *
 * The English dictionary doubles as the master key list.
 * Every other locale file maps the same English keys to translated values.
 * Missing keys fall back to the English string (the key itself).
 */
export type TranslateFn = (key: string) => string;
/** All locale codes the SDK ships translations for. */
export declare const SUPPORTED_LOCALES: string[];
/** Master list of translatable keys (= the English dictionary). */
export declare const TRANSLATION_KEYS: string[];
/** Human-readable labels for each bundled locale (in the locale's own language). */
export declare const LOCALE_LABELS: Record<string, string>;
/**
 * Register an external dictionary at runtime.
 * Useful for custom / community translations not bundled in the SDK.
 *
 *   registerLocale("ar", { "Virtual Try-On": "تجربة افتراضية", … });
 */
export declare function registerLocale(locale: string, dict: Record<string, string>): void;
/**
 * Auto-detect the user's language from the browser.
 * Returns a locale code that matches a bundled dictionary.
 */
export declare function detectLanguage(): string;
/**
 * Create a translator function for the given locale.
 *
 * @param locale  BCP-47 tag (e.g. "en", "ja", "pt-BR").
 *                Omit to auto-detect from browser.
 * @returns       `t(key)` — returns translated string, or the key itself as fallback.
 */
export declare function createT(locale?: string): TranslateFn;
