import { Ref } from 'vue';
import { DataTableHeaders, TableColumnHeader } from './types';
/**
 * Composable for processing and enhancing table headers
 *
 * @param headersProp - Reference to headers from props
 * @param filterInputConfig - Configuration for filter inputs
 * @returns Header utilities and computed properties
 */
export declare function useTableHeaders({ headersProp, storedHeaders, filterInputConfig, }: {
    headersProp: Readonly<Ref<DataTableHeaders[] | undefined>>;
    storedHeaders?: DataTableHeaders[];
    filterInputConfig?: Record<string, unknown>;
}): {
    headers: Ref<{
        title?: string | undefined;
        text?: string | undefined;
        value?: string | undefined;
        key?: string | undefined;
        filterable?: boolean | undefined;
        filterType?: import('./types').FilterType | undefined;
        filterOptions?: {
            text: string;
            value: unknown;
        }[] | undefined;
        multiple?: boolean | undefined;
        chips?: boolean | undefined;
        sortable?: boolean | undefined;
        hideMessages?: boolean | undefined;
        dateFormat?: string | undefined;
        align?: "start" | "end" | "center" | undefined;
        order?: number | undefined;
        hidden?: boolean | undefined;
        width?: string | number | undefined;
        maxWidth?: string | number | undefined;
        minWidth?: string | number | undefined;
        headerProps?: Record<string, unknown> | undefined;
        cellProps?: Record<string, unknown> | undefined;
    }[] | undefined, DataTableHeaders[] | {
        title?: string | undefined;
        text?: string | undefined;
        value?: string | undefined;
        key?: string | undefined;
        filterable?: boolean | undefined;
        filterType?: import('./types').FilterType | undefined;
        filterOptions?: {
            text: string;
            value: unknown;
        }[] | undefined;
        multiple?: boolean | undefined;
        chips?: boolean | undefined;
        sortable?: boolean | undefined;
        hideMessages?: boolean | undefined;
        dateFormat?: string | undefined;
        align?: "start" | "end" | "center" | undefined;
        order?: number | undefined;
        hidden?: boolean | undefined;
        width?: string | number | undefined;
        maxWidth?: string | number | undefined;
        minWidth?: string | number | undefined;
        headerProps?: Record<string, unknown> | undefined;
        cellProps?: Record<string, unknown> | undefined;
    }[] | undefined>;
    displayHeaders: import('vue').ComputedRef<DataTableHeaders[] | undefined>;
    filterableHeaders: import('vue').ComputedRef<DataTableHeaders[]>;
    getEnhancedHeader: (column: TableColumnHeader) => TableColumnHeader;
    getHeaderByKey: (key: string) => TableColumnHeader | undefined;
    getHeaderForColumn: (column: TableColumnHeader) => TableColumnHeader | undefined;
};
