import { PropType } from 'vue';
import type { Column, ColumnFilter, ColumnFilterValue, Item, Sorter, SorterValue } from './types';
declare const CSmartTableHead: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    as: {
        type: StringConstructor;
        default: string;
    };
    columnFilter: PropType<boolean | ColumnFilter>;
    columnFilterValue: PropType<ColumnFilterValue>;
    columnSorter: PropType<boolean | Sorter>;
    columns: {
        type: PropType<(Column | string)[]>;
        default: () => never[];
    };
    items: {
        type: PropType<Item[]>;
        default: () => never[];
    };
    scopedSlots: ObjectConstructor;
    selectable: BooleanConstructor;
    selectAll: PropType<boolean | {
        external?: boolean;
    }>;
    selectedAll: (StringConstructor | BooleanConstructor)[];
    showGroups: {
        type: BooleanConstructor;
        default: boolean;
    };
    sorterState: {
        type: PropType<SorterValue[]>;
        default: () => never[];
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("filterChange" | "customFilterChange" | "filterInput" | "selectAllChecked" | "sortClick")[], "filterChange" | "customFilterChange" | "filterInput" | "selectAllChecked" | "sortClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    as: {
        type: StringConstructor;
        default: string;
    };
    columnFilter: PropType<boolean | ColumnFilter>;
    columnFilterValue: PropType<ColumnFilterValue>;
    columnSorter: PropType<boolean | Sorter>;
    columns: {
        type: PropType<(Column | string)[]>;
        default: () => never[];
    };
    items: {
        type: PropType<Item[]>;
        default: () => never[];
    };
    scopedSlots: ObjectConstructor;
    selectable: BooleanConstructor;
    selectAll: PropType<boolean | {
        external?: boolean;
    }>;
    selectedAll: (StringConstructor | BooleanConstructor)[];
    showGroups: {
        type: BooleanConstructor;
        default: boolean;
    };
    sorterState: {
        type: PropType<SorterValue[]>;
        default: () => never[];
    };
}>> & Readonly<{
    onFilterChange?: ((...args: any[]) => any) | undefined;
    onCustomFilterChange?: ((...args: any[]) => any) | undefined;
    onFilterInput?: ((...args: any[]) => any) | undefined;
    onSelectAllChecked?: ((...args: any[]) => any) | undefined;
    onSortClick?: ((...args: any[]) => any) | undefined;
}>, {
    as: string;
    columns: (string | Column)[];
    items: Item[];
    selectable: boolean;
    showGroups: boolean;
    sorterState: SorterValue[];
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export { CSmartTableHead };
