import { TimelineI18nConfig } from '../models/TimelineI18n';
/**
 * Hook for managing internationalization in the timeline component
 */
export declare function useI18n(i18nConfig?: TimelineI18nConfig): {
    texts: Required<TimelineI18nConfig>;
    getText: <K extends keyof TimelineI18nConfig>(category: K, key: keyof Required<TimelineI18nConfig>[K], variables?: Record<string, string | number>) => string;
    navigation: {
        first: () => string;
        last: () => string;
        next: () => string;
        previous: () => string;
        play: () => string;
        stop: () => string;
        pause: () => string;
        resume: () => string;
    };
    search: {
        placeholder: () => string;
        ariaLabel: () => string;
        clearLabel: () => string;
        nextMatch: () => string;
        previousMatch: () => string;
        resultsCount: (current: number, total: number) => string;
        noResults: () => string;
        navigationLabel: () => string;
    };
    theme: {
        darkMode: () => string;
        lightMode: () => string;
        toggleTheme: () => string;
    };
    layout: {
        vertical: () => string;
        horizontal: () => string;
        alternating: () => string;
        horizontalAll: () => string;
        switchLayout: () => string;
        layoutSelection: () => string;
    };
    fullscreen: {
        enterFullscreen: () => string;
        exitFullscreen: () => string;
        notSupported: () => string;
        errorMessage: () => string;
    };
    quickJump: {
        jumpTo: () => string;
        jumpToAriaLabel: () => string;
        itemTemplate: (index: number, title: string) => string;
    };
    content: {
        readMore: () => string;
        showLess: () => string;
        expand: () => string;
        collapse: () => string;
        cardInteraction: () => string;
    };
    status: {
        loading: () => string;
        error: () => string;
        noItems: () => string;
        empty: () => string;
    };
    accessibility: {
        timelineNavigation: () => string;
        timelineContainer: () => string;
        timelineItem: () => string;
        activeItem: () => string;
        timelinePoint: () => string;
        timelineCard: () => string;
        nestedItems: () => string;
        itemPosition: (current: number, total: number) => string;
    };
    view: {
        compact: () => string;
        detailed: () => string;
        toggleDensity: () => string;
        densitySelection: () => string;
    };
    keyboard: {
        arrowKeys: () => string;
        homeKey: () => string;
        endKey: () => string;
        enterKey: () => string;
        escapeKey: () => string;
        tabNavigation: () => string;
        keyboardHelp: () => string;
    };
};
/**
 * Legacy compatibility helper - maps new i18n structure to old buttonTexts format
 */
export declare function mapI18nToButtonTexts(i18nConfig?: TimelineI18nConfig): {
    first: string;
    last: string;
    next: string;
    previous: string;
    play: string;
    stop: string;
    searchPlaceholder: string;
    searchAriaLabel: string;
    clearSearch: string;
    nextMatch: string;
    previousMatch: string;
    dark: string;
    light: string;
};
//# sourceMappingURL=useI18n.d.ts.map