import { ExtractPropTypes, PropType, VNode } from 'vue';

export interface DescriptionsColumn<T = any> {
    prop: any;
    label?: string | ((item: DescriptionsColumn<T>) => VNode);
    span?: number;
    width?: string;
    minWidth?: string;
    align?: 'left' | 'center' | 'right';
    labelAlign?: 'left' | 'center' | 'right';
    className?: string;
    labelClassName?: string;
    render?: (detail: T) => string | any;
}
export type IDescriptionsColumns<T = any> = Array<DescriptionsColumn<T> & any>;
export type DescriptionsProps = ExtractPropTypes<typeof descriptionsProps>;
export declare const descriptionsProps: {
    columns: PropType<IDescriptionsColumns<any>>;
    detail: ObjectConstructor;
    border: BooleanConstructor;
    column: NumberConstructor;
    direction: PropType<"horizontal" | "vertical">;
    size: PropType<"" | "small" | "default" | "large">;
    title: PropType<string | (() => VNode)>;
    extra: PropType<string | (() => VNode)>;
    align: PropType<"left" | "center" | "right">;
    labelAlign: PropType<"left" | "center" | "right">;
};
