import type { ExtractPropTypes, PropType } from 'vue';
export declare const tableColumnProProps: {
    prop: {
        type: StringConstructor;
        required: true;
    };
    /**
     * 是否开启排序
     */
    isSort: {
        type: BooleanConstructor;
        default: false;
    };
    /**
     * 是否显示
     */
    isShow: {
        type: BooleanConstructor;
        default: true;
    };
    fixed: {
        type: (StringConstructor | BooleanConstructor)[];
        default: false;
    };
    /**
     * 普通列 或 编辑列
     */
    type: {
        type: PropType<"" | "default" | "index" | "edit" | "selection" | "expand">;
        default: "";
    };
    sortOrders: {
        default: () => readonly ["descending", "ascending", null];
        type: PropType<(import("element-plus/es/components/table/src/table/defaults").TableSortOrder | null)[]>;
        validator: (val: (import("element-plus/es/components/table/src/table/defaults").TableSortOrder | null)[]) => boolean;
    };
    label: StringConstructor;
    className: StringConstructor;
    labelClassName: StringConstructor;
    property: StringConstructor;
    width: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    minWidth: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    renderHeader: PropType<(data: {
        column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>;
        $index: number;
        store: import("element-plus/es/components/table/src/store").Store<any>;
        _self: any;
    }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>>;
    sortable: {
        type: (StringConstructor | BooleanConstructor)[];
        default: boolean;
    };
    sortMethod: PropType<(a: any, b: any) => number>;
    sortBy: PropType<string | string[] | ((row: any, index: number, array?: any[] | undefined) => string)>;
    resizable: {
        type: BooleanConstructor;
        default: boolean;
    };
    columnKey: StringConstructor;
    align: StringConstructor;
    headerAlign: StringConstructor;
    showOverflowTooltip: {
        type: PropType<boolean | Partial<Pick<import("element-plus/es/components/tooltip").ElTooltipProps, "offset" | "placement" | "appendTo" | "effect" | "transition" | "showAfter" | "hideAfter" | "popperClass" | "popperOptions" | "showArrow" | "enterable">> | undefined>;
        default: undefined;
    };
    tooltipFormatter: PropType<import("element-plus/es/components/table/src/util").TableOverflowTooltipFormatter<any> | undefined>;
    formatter: PropType<(row: any, column: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>>;
    selectable: PropType<(row: any, index: number) => boolean>;
    reserveSelection: BooleanConstructor;
    filterMethod: PropType<import("element-plus/es/components/table/src/table-column/defaults").FilterMethods<any>>;
    filteredValue: PropType<string[]>;
    filters: PropType<import("element-plus/es/components/table/src/table-column/defaults").Filters>;
    filterPlacement: StringConstructor;
    filterMultiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    filterClassName: StringConstructor;
    index: PropType<number | ((index: number) => number)>;
};
export type TableColumnProProps = ExtractPropTypes<typeof tableColumnProProps>;
export declare const TableColumnProName = "GmTableColumnPro";
