import type { ExtractPropTypes, PropType } from 'vue';
import type { IAnyObject, ITableColumnConfig } from '@d-render/shared';
export interface ITreeProps {
    children: string;
    hasChildren?: string;
}
export declare const tableProps: {
    data: {
        type: PropType<IAnyObject[]>;
        required: boolean;
        default: () => never[];
    };
    seqLabel: {
        type: StringConstructor;
    };
    size: {
        type: StringConstructor;
        validate: (val: string) => boolean;
    };
    border: {
        type: BooleanConstructor;
        default: undefined;
    };
    showDisabledButton: {
        type: BooleanConstructor;
        default: undefined;
    };
    dangerButton: {
        type: BooleanConstructor;
        default: undefined;
    };
    columns: {
        type: PropType<ITableColumnConfig[]>;
        default: () => never[];
    };
    offset: NumberConstructor;
    hideIndex: BooleanConstructor;
    indexFixed: BooleanConstructor;
    height: StringConstructor;
    selectType: {
        type: StringConstructor;
        validate: (val: string) => boolean;
    };
    selectable: FunctionConstructor;
    reserveSelection: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectRadio: (StringConstructor | NumberConstructor)[];
    selectLabel: StringConstructor;
    selectColumns: ArrayConstructor;
    tableHeaderLabel: StringConstructor;
    inForm: BooleanConstructor;
    rowKey: PropType<string | ((row: IAnyObject) => unknown)>;
    treeProps: {
        type: PropType<{
            children: string;
            hasChildren?: string | undefined;
        }>;
        default: () => {};
    };
    defaultExpendAll: BooleanConstructor;
    withTableHandle: BooleanConstructor;
    handlerWidth: {
        type: (StringConstructor | NumberConstructor)[];
    };
    handlerHeaderAlign: {
        type: PropType<"center" | "left" | "right">;
    };
    handlerAlign: {
        type: PropType<"center" | "left" | "right">;
    };
    handlerLimit: {
        type: NumberConstructor;
        default: number;
    };
    fieldKey: StringConstructor;
    ruleKey: StringConstructor;
    dependOnValues: PropType<IAnyObject>;
    editType: {
        type: PropType<"all" | "cell" | "row">;
        default: string;
    };
    defaultAlign: {
        type: PropType<"center" | "left" | "right">;
    };
    /** 筛选值，单选为 string、多选为 string[]，支持 v-model:filterModel 与搜索表单同步 */
    filterModel: {
        type: PropType<IAnyObject>;
    };
};
export type TTableProps = ExtractPropTypes<typeof tableProps>;
