import { ButtonTexts } from '../models/TimelineModel';
import { useI18n } from '../hooks/useI18n';
/**
 * Text resolver interface that provides type-safe text resolution
 */
export interface TextResolver {
    firstItem(): string;
    lastItem(): string;
    nextItem(): string;
    previousItem(): string;
    playSlideshow(): string;
    stopSlideshow(): string;
    pauseSlideshow(): string;
    resumeSlideshow(): string;
    searchPlaceholder(): string;
    searchAriaLabel(): string;
    clearSearch(): string;
    nextMatch(): string;
    previousMatch(): string;
    searchResults(current: number, total: number): string;
    noSearchResults(): string;
    searchNavigation(): string;
    darkMode(): string;
    lightMode(): string;
    toggleTheme(): string;
    verticalLayout(): string;
    horizontalLayout(): string;
    alternatingLayout(): string;
    horizontalAllLayout(): string;
    switchLayout(): string;
    enterFullscreen(): string;
    exitFullscreen(): string;
    fullscreenNotSupported(): string;
    fullscreenError(): string;
    readMore(): string;
    showLess(): string;
    expandContent(): string;
    collapseContent(): string;
    timelineNavigation(): string;
    timelineContainer(): string;
    timelineItem(): string;
    activeItem(): string;
    itemPosition(current: number, total: number): string;
    loading(): string;
    error(): string;
    noItems(): string;
    empty(): string;
}
/**
 * Creates a text resolver that handles i18n, legacy, and default fallbacks
 */
export declare function createTextResolver(i18nHelper?: ReturnType<typeof useI18n>, buttonTexts?: ButtonTexts): TextResolver;
/**
 * Hook that provides a configured text resolver from the timeline context
 * Note: This should only be used within components that are wrapped by TimelineContextProvider
 */
export declare function useTextResolver(): TextResolver;
//# sourceMappingURL=textResolver.d.ts.map