import { type ComputedRef } from 'vue';
import type { Header } from '@/types/componentTypes/DataTableTypes';
import type { DataTableV2Props } from '../types';
export declare function useDataTableHeaders(props: DataTableV2Props, hasAnyActions: ComputedRef<boolean>): {
    autoHeaders: ComputedRef<{
        width: number;
        title: string;
        key: string;
        align?: "center" | "end" | "start";
        sortable?: boolean;
        editable?: boolean;
        filterable?: boolean;
        hidden?: boolean;
        defaultValue?: unknown;
        style?: Record<string, string>;
        translate?: boolean;
        options?: {
            title: string;
            value: string | number | boolean;
        }[];
        conditionalStyle?: (value: unknown, item: import("@/types/componentTypes/DataTableTypes").TableItem) => Record<string, string>;
        nestedKey?: string;
        customRenderer?: (item: import("@/types/componentTypes/DataTableTypes").TableItem) => string | number | boolean;
        formatter?: (value: unknown, item: import("@/types/componentTypes/DataTableTypes").TableItem) => string;
        type?: string;
        autocompleteItems?: any[] | import("vue").Ref<any[], any[]> | ((context?: Record<string, any>) => any[]);
        autocompleteItemTitle?: string;
        autocompleteItemValue?: string;
        autocompleteReturnObject?: boolean;
        autocompleteMultiple?: boolean;
        truncate?: boolean;
        showCopyButton?: boolean;
        cols?: string | number;
        dir?: "ltr" | "rtl";
        excludeFromForm?: boolean;
        isDate?: boolean;
        textarea?: boolean;
        toggleSwitch?: boolean;
        filterOperators?: import("@/types/componentTypes/DataTableTypes").FilterOperator[];
        defaultFilterOperator?: import("@/types/componentTypes/DataTableTypes").FilterOperator;
        dateMode?: "single" | "range";
    }[]>;
    groupedHeaders: ComputedRef<({
        readonly title: "";
        readonly key: "selection";
        readonly sortable: false;
        readonly width: 50;
    } | {
        width: number;
        title: string;
        key: string;
        align?: "center" | "end" | "start";
        sortable?: boolean;
        editable?: boolean;
        filterable?: boolean;
        hidden?: boolean;
        defaultValue?: unknown;
        style?: Record<string, string>;
        translate?: boolean;
        options?: {
            title: string;
            value: string | number | boolean;
        }[];
        conditionalStyle?: (value: unknown, item: import("@/types/componentTypes/DataTableTypes").TableItem) => Record<string, string>;
        nestedKey?: string;
        customRenderer?: (item: import("@/types/componentTypes/DataTableTypes").TableItem) => string | number | boolean;
        formatter?: (value: unknown, item: import("@/types/componentTypes/DataTableTypes").TableItem) => string;
        type?: string;
        autocompleteItems?: any[] | import("vue").Ref<any[], any[]> | ((context?: Record<string, any>) => any[]);
        autocompleteItemTitle?: string;
        autocompleteItemValue?: string;
        autocompleteReturnObject?: boolean;
        autocompleteMultiple?: boolean;
        truncate?: boolean;
        showCopyButton?: boolean;
        cols?: string | number;
        dir?: "ltr" | "rtl";
        excludeFromForm?: boolean;
        isDate?: boolean;
        textarea?: boolean;
        toggleSwitch?: boolean;
        filterOperators?: import("@/types/componentTypes/DataTableTypes").FilterOperator[];
        defaultFilterOperator?: import("@/types/componentTypes/DataTableTypes").FilterOperator;
        dateMode?: "single" | "range";
    })[]>;
    normalHeaders: ComputedRef<({
        readonly title: "";
        readonly key: "selection";
        readonly sortable: false;
        readonly width: 50;
    } | {
        width: number;
        title: string;
        key: string;
        align?: "center" | "end" | "start";
        sortable?: boolean;
        editable?: boolean;
        filterable?: boolean;
        hidden?: boolean;
        defaultValue?: unknown;
        style?: Record<string, string>;
        translate?: boolean;
        options?: {
            title: string;
            value: string | number | boolean;
        }[];
        conditionalStyle?: (value: unknown, item: import("@/types/componentTypes/DataTableTypes").TableItem) => Record<string, string>;
        nestedKey?: string;
        customRenderer?: (item: import("@/types/componentTypes/DataTableTypes").TableItem) => string | number | boolean;
        formatter?: (value: unknown, item: import("@/types/componentTypes/DataTableTypes").TableItem) => string;
        type?: string;
        autocompleteItems?: any[] | import("vue").Ref<any[], any[]> | ((context?: Record<string, any>) => any[]);
        autocompleteItemTitle?: string;
        autocompleteItemValue?: string;
        autocompleteReturnObject?: boolean;
        autocompleteMultiple?: boolean;
        truncate?: boolean;
        showCopyButton?: boolean;
        cols?: string | number;
        dir?: "ltr" | "rtl";
        excludeFromForm?: boolean;
        isDate?: boolean;
        textarea?: boolean;
        toggleSwitch?: boolean;
        filterOperators?: import("@/types/componentTypes/DataTableTypes").FilterOperator[];
        defaultFilterOperator?: import("@/types/componentTypes/DataTableTypes").FilterOperator;
        dateMode?: "single" | "range";
    })[]>;
    formHeaders: ComputedRef<Header[]>;
    selectionHeader: {
        readonly title: "";
        readonly key: "selection";
        readonly sortable: false;
        readonly width: 50;
    };
};
export declare function useHasAnyActions(props: DataTableV2Props): ComputedRef<boolean>;
//# sourceMappingURL=useDataTableHeaders.d.ts.map