/**
 * Handle keyboard navigation
 * @param {Event} event - Keyboard event
 * @param {number} currentIndex - Current tab index
 * @param {Array} tabs - Array of tabs
 * @param {string} orientation - Tab orientation
 * @returns {number} New tab index
 */
export function handleKeyboardNavigation(event: Event, currentIndex: number, tabs: any[], orientation?: string): number;
/**
 * Find next enabled tab
 * @param {number} currentIndex - Current index
 * @param {Array} tabs - Array of tabs
 * @returns {number} Next enabled tab index
 */
export function findNextEnabledTab(currentIndex: number, tabs: any[]): number;
/**
 * Find previous enabled tab
 * @param {number} currentIndex - Current index
 * @param {Array} tabs - Array of tabs
 * @returns {number} Previous enabled tab index
 */
export function findPreviousEnabledTab(currentIndex: number, tabs: any[]): number;
/**
 * Find first enabled tab
 * @param {Array} tabs - Array of tabs
 * @returns {number} First enabled tab index
 */
export function findFirstEnabledTab(tabs: any[]): number;
/**
 * Find last enabled tab
 * @param {Array} tabs - Array of tabs
 * @returns {number} Last enabled tab index
 */
export function findLastEnabledTab(tabs: any[]): number;
/**
 * Generate tabs wrapper classes
 * @param {Object} props - Component props
 * @returns {string} Class names
 */
export function getTabsWrapperClasses(props?: Object): string;
/**
 * Generate tabs container classes
 * @param {Object} props - Component props
 * @returns {string} Class names
 */
export function getTabsClasses(props?: Object): string;
/**
 * Generate tab classes
 * @param {Object} props - Component props
 * @returns {string} Class names
 */
export function getTabClasses(props?: Object): string;
/**
 * Generate tab content classes
 * @param {Object} props - Component props
 * @returns {string} Class names
 */
export function getTabContentClasses(props?: Object): string;
/**
 * Create controlled tab state
 * @param {Object} config - Configuration
 * @returns {Object} State management object
 */
export function createTabState(config?: Object): Object;
/**
 * Animate tab content transition
 * @param {Element} element - Content element
 * @param {Object} options - Animation options
 * @returns {Promise} Animation promise
 */
export function animateTabContent(element: Element, options?: Object): Promise<any>;
/**
 * Generate ARIA attributes for tabs
 * @param {Object} props - Component props
 * @returns {Object} ARIA attributes
 */
export function getTabsAriaAttributes(props?: Object): Object;
/**
 * Generate ARIA attributes for individual tab
 * @param {Object} props - Component props
 * @returns {Object} ARIA attributes
 */
export function getTabAriaAttributes(props?: Object): Object;
/**
 * Generate ARIA attributes for tab panel
 * @param {Object} props - Component props
 * @returns {Object} ARIA attributes
 */
export function getTabPanelAriaAttributes(props?: Object): Object;
/**
 * Validate tabs configuration
 * @param {Array} tabs - Tabs array
 * @returns {Object} Validation result
 */
export function validateTabs(tabs: any[]): Object;
/**
 * Validate tab props
 * @param {Object} props - Component props
 * @returns {Object} Validation result
 */
export function validateTabProps(props?: Object): Object;
/**
 * Debounce tab change handler
 * @param {Function} handler - Change handler
 * @param {number} delay - Debounce delay
 * @returns {Function} Debounced handler
 */
export function debounceTabChange(handler: Function, delay?: number): Function;
/**
 * Throttle tab change handler
 * @param {Function} handler - Change handler
 * @param {number} delay - Throttle delay
 * @returns {Function} Throttled handler
 */
export function throttleTabChange(handler: Function, delay?: number): Function;
/**
 * Create tab ID generator
 * @param {string} prefix - ID prefix
 * @returns {Function} ID generator function
 */
export function createTabIdGenerator(prefix?: string): Function;
/**
 * Scroll tab into view
 * @param {Element} tabElement - Tab element
 * @param {Element} containerElement - Container element
 * @param {Object} options - Scroll options
 */
export function scrollTabIntoView(tabElement: Element, containerElement: Element, options?: Object): void;
export namespace TAB_VARIANTS {
    let _default: string;
    export { _default as default };
    export let pills: string;
    export let underline: string;
    export let bordered: string;
    export let segmented: string;
    export let minimal: string;
    export let filled: string;
}
export namespace TAB_SIZES {
    let sm: string;
    let md: string;
    let lg: string;
}
export namespace TAB_ORIENTATIONS {
    let horizontal: string;
    let vertical: string;
}
export namespace KEY_CODES {
    let ARROW_LEFT: number;
    let ARROW_UP: number;
    let ARROW_RIGHT: number;
    let ARROW_DOWN: number;
    let HOME: number;
    let END: number;
    let ENTER: number;
    let SPACE: number;
}
/**
 * Tab Manager Class
 * Manages tab state, navigation, and lifecycle
 */
export class TabManager {
    constructor(config?: {});
    tabs: any[];
    activeIndex: any;
    orientation: any;
    variant: any;
    size: any;
    allowKeyboardNavigation: boolean;
    lazy: any;
    keepAlive: any;
    onChange: any;
    onTabLoad: any;
    loadedTabs: Set<any>;
    /**
     * Add tab to manager
     * @param {Object} tab - Tab configuration
     * @returns {number} Tab index
     */
    addTab(tab: Object): number;
    /**
     * Remove tab by index
     * @param {number} index - Tab index
     * @returns {boolean} Success
     */
    removeTab(index: number): boolean;
    /**
     * Set active tab
     * @param {number} index - Tab index
     * @returns {boolean} Success
     */
    setActiveTab(index: number): boolean;
    /**
     * Get active tab
     * @returns {Object|null} Active tab
     */
    getActiveTab(): Object | null;
    /**
     * Get tab by index
     * @param {number} index - Tab index
     * @returns {Object|null} Tab
     */
    getTab(index: number): Object | null;
    /**
     * Mark tab as loaded
     * @param {number} index - Tab index
     */
    markTabAsLoaded(index: number): void;
    /**
     * Check if tab is loaded
     * @param {number} index - Tab index
     * @returns {boolean} Is loaded
     */
    isTabLoaded(index: number): boolean;
    /**
     * Notify change listeners
     * @param {number} index - New active index
     */
    notifyChange(index: number): void;
    /**
     * Update tab properties
     * @param {number} index - Tab index
     * @param {Object} updates - Properties to update
     * @returns {boolean} Success
     */
    updateTab(index: number, updates: Object): boolean;
}
declare namespace _default {
    export { TAB_VARIANTS };
    export { TAB_SIZES };
    export { TAB_ORIENTATIONS };
    export { KEY_CODES };
    export { TabManager };
    export { handleKeyboardNavigation };
    export { findNextEnabledTab };
    export { findPreviousEnabledTab };
    export { findFirstEnabledTab };
    export { findLastEnabledTab };
    export { getTabsWrapperClasses };
    export { getTabsClasses };
    export { getTabClasses };
    export { getTabContentClasses };
    export { createTabState };
    export { animateTabContent };
    export { getTabsAriaAttributes };
    export { getTabAriaAttributes };
    export { getTabPanelAriaAttributes };
    export { validateTabs };
    export { validateTabProps };
    export { debounceTabChange };
    export { throttleTabChange };
    export { createTabIdGenerator };
    export { scrollTabIntoView };
}
export default _default;
//# sourceMappingURL=utils.d.ts.map