import type { IDescriptionsInject } from 'element-plus/es/components/descriptions/src/descriptions.type';
import type { LooseRequired } from '@vue/shared';
import type { SFCWithInstall, EpPropFinalized, EpPropMergeType } from 'element-plus/es/utils';
import { Renderer, Env, DocumentSchema } from '../../../src';
import * as Vue from 'vue';
declare const _sfc_main: Vue.DefineComponent<{}, {
    container: Vue.Ref<any>;
    options: ({
        value: string;
        label: string;
        children: {
            value: string;
            label: string;
            children: {
                value: string;
                label: string;
            }[];
        }[];
    } | {
        value: string;
        label: string;
        children: {
            value: string;
            label: string;
        }[];
    })[];
    env: Env;
    renderer: Renderer;
    test: DocumentSchema;
    schema: DocumentSchema;
    ElDescriptions: SFCWithInstall<Vue.DefineComponent<{
        readonly border: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly column: EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
        readonly direction: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "horizontal", boolean>;
        readonly size: {
            readonly type: Vue.PropType<EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly title: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly extra: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    }, {
        props: Readonly<LooseRequired<Readonly<Vue.ExtractPropTypes<{
            readonly border: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
            readonly column: EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
            readonly direction: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "horizontal", boolean>;
            readonly size: {
                readonly type: Vue.PropType<EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            readonly title: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly extra: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        }>> & {
            [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
        }>>;
        ns: {
            namespace: Vue.Ref<string>;
            b: (blockSuffix?: string | undefined) => string;
            e: (element?: string | undefined) => string;
            m: (modifier?: string | undefined) => string;
            be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
            em: (element?: string | undefined, modifier?: string | undefined) => string;
            bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
            bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        descriptionsSize: Vue.ComputedRef<"" | "small" | "default" | "large">;
        slots: Readonly<{
            [name: string]: Vue.Slot | undefined;
        }>;
        descriptionKls: Vue.ComputedRef<string[]>;
        flattedChildren: (children: any) => never[];
        filledNode: (node: any, span: any, count: any, isLast?: boolean | undefined) => any;
        getRows: () => never[];
        ElDescriptionsRow: Vue.DefineComponent<{
            readonly row: EpPropFinalized<ArrayConstructor, unknown, unknown, () => never[], boolean>;
        }, {
            descriptions: IDescriptionsInject;
            ElDescriptionsCell: Vue.DefineComponent<{
                cell: {
                    type: ObjectConstructor;
                };
                tag: {
                    type: StringConstructor;
                };
                type: {
                    type: StringConstructor;
                };
            }, {
                descriptions: IDescriptionsInject;
            }, unknown, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, Record<string, any>, string, Vue.VNodeProps & Vue.AllowedComponentProps & Vue.ComponentCustomProps, Readonly<Vue.ExtractPropTypes<{
                cell: {
                    type: ObjectConstructor;
                };
                tag: {
                    type: StringConstructor;
                };
                type: {
                    type: StringConstructor;
                };
            }>>, {}>;
        }, unknown, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, Record<string, any>, string, Vue.VNodeProps & Vue.AllowedComponentProps & Vue.ComponentCustomProps, Readonly<Vue.ExtractPropTypes<{
            readonly row: EpPropFinalized<ArrayConstructor, unknown, unknown, () => never[], boolean>;
        }>>, {
            readonly row: unknown[];
        }>;
    }, unknown, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, Record<string, any>, string, Vue.VNodeProps & Vue.AllowedComponentProps & Vue.ComponentCustomProps, Readonly<Vue.ExtractPropTypes<{
        readonly border: EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly column: EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
        readonly direction: EpPropFinalized<StringConstructor, "vertical" | "horizontal", unknown, "horizontal", boolean>;
        readonly size: {
            readonly type: Vue.PropType<EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        readonly title: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly extra: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    }>>, {
        readonly title: string;
        readonly column: number;
        readonly border: EpPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly direction: EpPropMergeType<StringConstructor, "vertical" | "horizontal", unknown>;
        readonly extra: string;
    }>> & {
        DescriptionsItem: Vue.DefineComponent<{
            label: {
                type: StringConstructor;
                default: string;
            };
            span: {
                type: NumberConstructor;
                default: number;
            };
            width: {
                type: (StringConstructor | NumberConstructor)[];
                default: string;
            };
            minWidth: {
                type: (StringConstructor | NumberConstructor)[];
                default: string;
            };
            align: {
                type: StringConstructor;
                default: string;
            };
            labelAlign: {
                type: StringConstructor;
                default: string;
            };
            className: {
                type: StringConstructor;
                default: string;
            };
            labelClassName: {
                type: StringConstructor;
                default: string;
            };
        }, unknown, unknown, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, Record<string, any>, string, Vue.VNodeProps & Vue.AllowedComponentProps & Vue.ComponentCustomProps, Readonly<Vue.ExtractPropTypes<{
            label: {
                type: StringConstructor;
                default: string;
            };
            span: {
                type: NumberConstructor;
                default: number;
            };
            width: {
                type: (StringConstructor | NumberConstructor)[];
                default: string;
            };
            minWidth: {
                type: (StringConstructor | NumberConstructor)[];
                default: string;
            };
            align: {
                type: StringConstructor;
                default: string;
            };
            labelAlign: {
                type: StringConstructor;
                default: string;
            };
            className: {
                type: StringConstructor;
                default: string;
            };
            labelClassName: {
                type: StringConstructor;
                default: string;
            };
        }>>, {
            label: string;
            width: string | number;
            className: string;
            minWidth: string | number;
            span: number;
            align: string;
            labelAlign: string;
            labelClassName: string;
        }>;
    };
    ElDescriptionsItem: SFCWithInstall<Vue.DefineComponent<{
        label: {
            type: StringConstructor;
            default: string;
        };
        span: {
            type: NumberConstructor;
            default: number;
        };
        width: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
        };
        minWidth: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
        };
        align: {
            type: StringConstructor;
            default: string;
        };
        labelAlign: {
            type: StringConstructor;
            default: string;
        };
        className: {
            type: StringConstructor;
            default: string;
        };
        labelClassName: {
            type: StringConstructor;
            default: string;
        };
    }, unknown, unknown, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, Record<string, any>, string, Vue.VNodeProps & Vue.AllowedComponentProps & Vue.ComponentCustomProps, Readonly<Vue.ExtractPropTypes<{
        label: {
            type: StringConstructor;
            default: string;
        };
        span: {
            type: NumberConstructor;
            default: number;
        };
        width: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
        };
        minWidth: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
        };
        align: {
            type: StringConstructor;
            default: string;
        };
        labelAlign: {
            type: StringConstructor;
            default: string;
        };
        className: {
            type: StringConstructor;
            default: string;
        };
        labelClassName: {
            type: StringConstructor;
            default: string;
        };
    }>>, {
        label: string;
        width: string | number;
        className: string;
        minWidth: string | number;
        span: number;
        align: string;
        labelAlign: string;
        labelClassName: string;
    }>>;
}, {}, {}, {}, Vue.ComponentOptionsMixin, Vue.ComponentOptionsMixin, {}, string, Vue.VNodeProps & Vue.AllowedComponentProps & Vue.ComponentCustomProps, Readonly<Vue.ExtractPropTypes<{}>>, {}>;
export default _sfc_main;
