import { L as LocaleCode } from './constant-C85biO-A.js';
import 'react';

/**
 * Whether the active UI language uses right-to-left layout for `document.dir`.
 * Matches primary subtags and common regional variants (e.g. `fa-IR`, `he-IL`).
 */
declare const isRTLDirectionLanguage: (lang?: string) => boolean;
declare const syncDocumentDirection: (lang?: string) => void;
/**
 * transform browser language to you given i18n locale codes
 * @param lang - browser language
 * @param localeCodes - locale codes to check
 * @param defaultLang - default locale code
 * @example
 * parseI18nLang('en-US') => 'en'
 * parseI18nLang('zh-CN') => 'zh'
 * parseI18nLang('zh-TW') => 'zh'
 * parseI18nLang('ja') => 'ja'
 * */
declare function parseI18nLang(lang: string, localeCodes?: LocaleCode[], defaultLang?: LocaleCode): string;
/**
 * remove lang prefix from pathname
 * @param pathname - pathname to remove lang prefix
 * @param localeCodes - locale codes to check
 * @example
 * removeLangPrefix('/en/perp/PERP_ETH_USDC') => '/perp/PERP_ETH_USDC'
 * removeLangPrefix('/en/markets') => '/markets'
 * removeLangPrefix('/perp/PERP_ETH_USDC') => '/perp/PERP_ETH_USDC'
 * removeLangPrefix('/markets') => '/markets'
 */
declare function removeLangPrefix(pathname: string, localeCodes?: string[]): string;
/**
 * get locale path from pathname
 * @param pathname - pathname to get locale path
 * @param localeCodes - locale codes to check
 * @example
 * getLocalePathFromPathname('/en/perp/PERP_ETH_USDC') => 'en'
 * getLocalePathFromPathname('/perp/PERP_ETH_USDC') => null
 * getLocalePathFromPathname('/en/markets') => 'en'
 * getLocalePathFromPathname('/markets') => null
 */
declare function getLocalePathFromPathname(pathname: string, localeCodes?: string[]): string | null;
/**
 * Generate a localized path with proper locale prefix and search parameters
 *
 * This function ensures that the returned path includes the appropriate locale prefix.
 * If the path already contains a valid locale prefix, it returns the path as-is.
 * Otherwise, it prepends the specified locale or falls back to the current i18n language.
 *
 * @param params - Configuration object for path generation
 * @param params.path - The base pathname (e.g., '/markets', '/perp/PERP_ETH_USDC')
 * @param params.locale - Optional locale code to use as prefix. If not provided, uses i18n.language
 * @param params.search - Optional search query string. If not provided, uses window.location.search
 *
 * @returns A complete URL path with locale prefix and search parameters
 *
 * @example
 * generatePath({ path: '/markets' }) => '/en/markets?tab=spot'
 * generatePath({ path: '/en/markets', search: '?tab=futures' }) => '/en/markets?tab=futures'
 * generatePath({ path: '/perp/PERP_ETH_USDC', locale: 'zh' }) => '/zh/perp/PERP_ETH_USDC'
 * generatePath({ path: '/en/perp/PERP_ETH_USDC' }) => '/en/perp/PERP_ETH_USDC'
 */
declare function generatePath(params: {
    path: string;
    locale?: string;
    search?: string;
}): string;

export { generatePath, getLocalePathFromPathname, isRTLDirectionLanguage, parseI18nLang, removeLangPrefix, syncDocumentDirection };
