import type { ExtractPublicPropTypes, PropType } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
declare const validators: {
    sort: readonly [1, -1, undefined];
    textAlign: readonly ["left", "center", "right"];
};
declare const tableHeaderProps: {
    sort: {
        type: PropType<1 | -1 | undefined>;
        validator: (value: number) => boolean;
    };
    sortable: BooleanConstructor;
    textAlign: {
        type: PropType<"left" | "right" | "center">;
        default: string;
        validator: (value: string) => boolean;
    };
    tooltip: StringConstructor;
};
export type TableHeaderSort = typeof validators.sort[number];
export type TableHeaderAlign = typeof validators.textAlign[number];
export type TableHeaderProps = ExtractPublicPropTypes<typeof tableHeaderProps>;
type InternalClasses = 'th' | 'sortIcon' | 'header';
export interface TableHeaderTheme extends ThemeComponent<TableHeaderProps, InternalClasses> {
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    sort: {
        type: PropType<1 | -1 | undefined>;
        validator: (value: number) => boolean;
    };
    sortable: BooleanConstructor;
    textAlign: {
        type: PropType<"left" | "right" | "center">;
        default: string;
        validator: (value: string) => boolean;
    };
    tooltip: StringConstructor;
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    sort: {
        type: PropType<1 | -1 | undefined>;
        validator: (value: number) => boolean;
    };
    sortable: BooleanConstructor;
    textAlign: {
        type: PropType<"left" | "right" | "center">;
        default: string;
        validator: (value: string) => boolean;
    };
    tooltip: StringConstructor;
}>> & Readonly<{}>, {
    textAlign: "left" | "right" | "center";
    sortable: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
