/**
 * Client-side initialization functions for i18n
 * Handles browser-specific initialization and hydration
 */
import type { I18nInstance } from '../core/types.js';
/**
 * Setup i18n on client with SSR data
 * Handles hydration of SSR translations
 *
 * @param i18n - The i18n instance
 * @param data - SSR data from server
 * @param options - Configuration options
 */
export declare function setupI18nClient<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales' | 'setLocale' | 'loadLanguageSync'>, data: any, options?: {
    defaultLocale?: string;
    storageKey?: string;
}): {
    locale: any;
    locales: any;
    i18nReady: boolean;
};
/**
 * Initialize i18n on mount (client-side only)
 * Use this in your +layout.svelte onMount
 *
 * @param i18n - The i18n instance
 * @param data - SSR data
 * @param options - Configuration options
 */
export declare function initI18nOnMount<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales' | 'setLocale'>, _data: any, options?: {
    initFunction?: (i18n: any, initOptions?: any) => Promise<void>;
    storageKey?: string;
    defaultLocale?: string;
}): Promise<{
    locale: string;
    locales: string[];
    i18nReady: boolean;
} | undefined>;
/**
 * Check if i18n is ready (translations loaded)
 *
 * @param i18n - The i18n instance
 * @param data - SSR data
 */
export declare function i18nIsReady<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales'>, data: any): boolean;
/**
 * Backward compatible client init function
 * @deprecated Use setupI18nClient or initI18nOnMount instead
 */
export declare function i18nClientInit<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales' | 'setLocale'>, data: any, options?: {
    storageKey?: string;
    autoLoad?: boolean;
    initFunction?: (i18n: any) => Promise<void>;
}): Promise<{
    locale: string;
    locales: any;
    i18nReady: boolean;
}>;
