import type { DefineComponent, RendererNode, RendererElement, ComputedRef, Ref, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, PropType,  VNode } from 'vue';
import type { ColumnPropsEx } from '../../types/column';
declare const _default: DefineComponent<{
    title: {
        type: StringConstructor;
        default: string;
    };
    icon: {
        type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        default: null;
    };
    extra: {
        type: ObjectConstructor;
        default: () => {};
    };
}, {
    indeterminate: ComputedRef<boolean>;
    onCheckAllChange: (e: any) => void;
    onChange: (checkedList: any[]) => void;
    plainOptions: Ref<{
        [x: string]: any;
        label: string;
        value: string;
        fixed?: boolean | "left" | "right" | undefined;
    }[]>;
    plainSortOptions: Ref<{
        [x: string]: any;
        label: string;
        value: string;
        fixed?: boolean | "left" | "right" | undefined;
    }[]>;
    reset: () => void;
    prefixCls: string;
    columnListRef: Ref<{
        $el: HTMLDivElement;
    } | null>;
    handleVisibleChange: () => void;
    checkIndex: Ref<boolean>;
    checkSelect: Ref<boolean>;
    handleIndexCheckChange: (e: Event) => void;
    handleSelectCheckChange: (e: Event) => void;
    defaultRowSelection: {};
    handleColumnFixed: (item: ColumnPropsEx, fixed?: "left" | "right" | undefined) => void;
    getPopupContainer: () => any;
    checkAll: Ref<boolean>;
    isInit?: Ref<boolean | undefined> | undefined;
    checkedList: Ref<string[]>;
    defaultCheckList: Ref<string[]>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "columns-change"[], "columns-change", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    title?: unknown;
    icon?: unknown;
    extra?: unknown;
} & {
    icon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
    title: string;
    extra: Record<string, any>;
} & {}> & {
    "onColumns-change"?: ((...args: any[]) => any) | undefined;
}, {
    icon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
    title: string;
    extra: Record<string, any>;
}>;
export default _default;
