import type { SupportedLocale } from '../types/index.js';
/**
 * Get the currently active locale.
 */
export declare function getLocale(): SupportedLocale;
/**
 * Set the active locale. If the locale is not supported, it stays unchanged.
 */
export declare function setLocale(locale: SupportedLocale): void;
/**
 * Check whether a locale string is a valid SupportedLocale.
 */
export declare function isSupportedLocale(value: string): value is SupportedLocale;
/**
 * Return the list of supported locale codes.
 */
export declare function getSupportedLocales(): SupportedLocale[];
/**
 * Translate a dot-notation key to a localized string.
 *
 * @param key    Dot-notation key, e.g. "tools.create_spec.success"
 * @param locale Optional locale override (defaults to the current global locale)
 * @returns      The translated string, or the key itself if not found in any locale.
 *
 * Interpolation: use `{placeholder}` in message strings. Pass values via
 * the `t()` return and then call `.replace()` — or use the `ti()` helper.
 */
export declare function t(key: string, locale?: SupportedLocale): string;
/**
 * Detect the language of a text string using heuristic word-frequency scoring.
 * Returns a BCP-47-style language code ('es', 'en', 'pt', 'de', 'fr', ...) or 'en' as default.
 * This is intentionally conservative: when confidence is low, falls back to 'en'.
 */
export declare function detectLanguage(input: string): string;
/**
 * Translate with interpolation.
 *
 * @param key    Dot-notation key
 * @param params Key-value pairs to replace `{placeholder}` tokens
 * @param locale Optional locale override
 */
export declare function ti(key: string, params: Record<string, string | number>, locale?: SupportedLocale): string;
//# sourceMappingURL=index.d.ts.map