import { PropType } from "vue";
declare function del(index: number): void;
declare function add(obj: any): void;
declare var __VLS_inheritedAttrs: {};
declare const __VLS_templateResult: {
    slots: Partial<Record<any, (_: {
        item: any;
        column: any;
        record: any;
        disabled: any;
        rowIndex: any;
        size: any;
    }) => any>> & {
        menu?(_: {
            record: any;
            rowIndex: any;
            size: any;
        }): any;
        menuLeft?(_: {
            record: any;
            rowIndex: any;
            size: any;
        }): any;
        menuRight?(_: {
            record: any;
            rowIndex: any;
            size: any;
        }): any;
        add?(_: {}): any;
    };
    refs: {};
    attrs: Partial<typeof __VLS_inheritedAttrs>;
};
type __VLS_Slots = typeof __VLS_templateResult['slots'];
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    option: {
        type: ObjectConstructor;
        default: () => {
            columns: never[];
        };
    };
    data: {
        type: () => any[];
        default: () => never[];
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    default: {
        type: PropType<Record<string, any>>;
        default: () => {};
    };
    isDisabled: {
        type: PropType<(record: any, index: number) => boolean>;
        default: (record: any, index: number) => false;
    };
    isDelBtn: {
        type: PropType<(record: any, index: number) => boolean>;
        default: (record: any, index: number) => true;
    };
    addBtn: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    add: typeof add;
    del: typeof del;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    change: (...args: any[]) => void;
    onAdd: (...args: any[]) => void;
    onDel: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<{
    default: Record<string, any>;
    option: Record<string, any>;
    draggable: boolean;
    data: any[];
    isDisabled: (record: any, index: number) => boolean;
    addBtn: boolean;
    isDelBtn: (record: any, index: number) => boolean;
} & {} & {
    onChange?: ((...args: any[]) => any) | undefined;
    onOnAdd?: ((...args: any[]) => any) | undefined;
    onOnDel?: ((...args: any[]) => any) | undefined;
}>, {
    default: Record<string, any>;
    option: Record<string, any>;
    draggable: boolean;
    data: any[];
    isDisabled: (record: any, index: number) => boolean;
    addBtn: boolean;
    isDelBtn: (record: any, index: number) => boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
