/**
 * @fileoverview Direction utilities for RTL/LTR support
 *
 * Provides utilities for detecting and managing text directionality
 * based on locale and user preferences.
 */
/**
 * Text direction values
 */
export type DirectionValue = 'ltr' | 'rtl';
/**
 * Direction preference options
 * - 'auto': Automatically detect from locale
 * - 'ltr': Force left-to-right
 * - 'rtl': Force right-to-left
 */
export type DirectionPreference = 'auto' | 'ltr' | 'rtl';
/**
 * Detects text direction from a locale string
 *
 * @param locale - Locale string (e.g., 'en-US', 'ar-SA', 'he-IL')
 * @returns Direction value ('ltr' or 'rtl')
 *
 * @example
 * ```typescript
 * getDirectionFromLocale('en-US') // 'ltr'
 * getDirectionFromLocale('ar-SA') // 'rtl'
 * getDirectionFromLocale('he') // 'rtl'
 * ```
 */
export declare function getDirectionFromLocale(locale: string): DirectionValue;
/**
 * Resolves the final direction based on preference and locale
 *
 * @param preference - User's direction preference
 * @param locale - Current locale string
 * @returns Final direction value
 *
 * @example
 * ```typescript
 * resolveDirection('auto', 'ar-SA') // 'rtl'
 * resolveDirection('ltr', 'ar-SA') // 'ltr' (forced)
 * resolveDirection('rtl', 'en-US') // 'rtl' (forced)
 * ```
 */
export declare function resolveDirection(preference: DirectionPreference, locale: string): DirectionValue;
/**
 * Generates CSS class name for direction
 *
 * @param direction - Direction value
 * @returns CSS class name
 *
 * @example
 * ```typescript
 * getDirectionClassName('ltr') // 'b-ltr'
 * getDirectionClassName('rtl') // 'b-rtl'
 * ```
 */
export declare function getDirectionClassName(direction: DirectionValue): string;
/**
 * Checks if a locale is RTL
 *
 * @param locale - Locale string to check
 * @returns True if the locale is RTL
 *
 * @example
 * ```typescript
 * isRTLLocale('ar-SA') // true
 * isRTLLocale('en-US') // false
 * ```
 */
export declare function isRTLLocale(locale: string): boolean;
/**
 * Gets the opposite direction
 *
 * @param direction - Current direction
 * @returns Opposite direction
 *
 * @example
 * ```typescript
 * getOppositeDirection('ltr') // 'rtl'
 * getOppositeDirection('rtl') // 'ltr'
 * ```
 */
export declare function getOppositeDirection(direction: DirectionValue): DirectionValue;
/**
 * Direction-aware logical property mappings
 * Maps logical properties to physical properties based on direction
 */
export declare const LOGICAL_PROPERTY_MAP: {
    readonly ltr: {
        readonly 'inline-start': "left";
        readonly 'inline-end': "right";
        readonly 'block-start': "top";
        readonly 'block-end': "bottom";
    };
    readonly rtl: {
        readonly 'inline-start': "right";
        readonly 'inline-end': "left";
        readonly 'block-start': "top";
        readonly 'block-end': "bottom";
    };
};
/**
 * Gets physical property name from logical property based on direction
 *
 * @param logicalProperty - Logical property name
 * @param direction - Text direction
 * @returns Physical property name
 *
 * @example
 * ```typescript
 * getPhysicalProperty('inline-start', 'ltr') // 'left'
 * getPhysicalProperty('inline-start', 'rtl') // 'right'
 * ```
 */
export declare function getPhysicalProperty(logicalProperty: keyof typeof LOGICAL_PROPERTY_MAP.ltr, direction: DirectionValue): string;
