import type { Gutter } from 'ant-design-vue/es/grid/Row';
import type { VueTypeValidableDef, VueTypeDef } from 'vue-types';
import type { ColEx } from '../types';
import type { FormScheme, ButtonProps, FieldMapToTime, FieldMapToRangeValue, SearchSolution } from '../types/form';
import type { CSSProperties, PropType } from 'vue';
import { TableActionType } from '../../table';
import type { Recordable } from '../../typings/global';
export declare const useProps: {
    model: VueTypeValidableDef<Recordable<any>> & {
        default: () => Recordable<any>;
    };
    hideRequiredMark: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    labelCol: VueTypeValidableDef<ColEx>;
    layout: VueTypeDef<"horizontal" | "vertical" | "inline"> & {
        default: "horizontal" | "vertical" | "inline";
    };
    wrapperCol: VueTypeValidableDef<ColEx>;
    colon: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    labelAlign: VueTypeValidableDef<"left" | "right"> & {
        default: "left" | "right";
    };
    rowProps: VueTypeValidableDef<Partial<{
        align?: unknown;
        justify?: unknown;
        prefixCls?: unknown;
        gutter?: unknown;
        wrap?: unknown;
    } & {
        gutter: Gutter | [Gutter, Gutter];
    } & {
        prefixCls?: string | undefined;
        align?: "middle" | "top" | "bottom" | "stretch" | undefined;
        justify?: "center" | "space-around" | "space-between" | "end" | "start" | undefined;
        wrap?: boolean | undefined;
    }>>;
    labelWith: VueTypeDef<string | number> & {
        default: string | number;
    };
    fieldMapToTime: {
        type: PropType<FieldMapToTime>;
        default: () => never[];
    };
    fieldMapToRangeValue: {
        type: PropType<FieldMapToRangeValue>;
        default: () => never[];
    };
    schemes: VueTypeValidableDef<FormScheme[]> & {
        default: () => FormScheme[];
    };
    mergeDynamicData: VueTypeValidableDef<Recordable<any>> & {
        default: () => Recordable<any>;
    };
    baseRowStyle: VueTypeValidableDef<CSSProperties>;
    baseColProps: VueTypeValidableDef<ColEx>;
    autoSetPlaceHolder: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    autoSubmitOnEnter: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    submitOnReset: VueTypeValidableDef<boolean>;
    size: VueTypeValidableDef<any> & {
        default: any;
    };
    disabled: VueTypeValidableDef<boolean>;
    rulesMessageJoinLabel: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    showActionButtonGroup: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    actionColOptions: VueTypeValidableDef<Partial<ColEx>>;
    showResetButton: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    autoFocusFirstItem: VueTypeValidableDef<boolean>;
    resetButtonOptions: VueTypeValidableDef<Partial<ButtonProps>>;
    showSubmitButton: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    submitButtonOptions: VueTypeValidableDef<Partial<ButtonProps>>;
    resetFunc: VueTypeValidableDef<() => Promise<void>>;
    submitFunc: VueTypeValidableDef<() => Promise<void>>;
    tableAction: VueTypeValidableDef<TableActionType>;
    transformDateFunc: VueTypeValidableDef<(date: any) => string> & {
        default: (date: any) => string;
    };
    validateTrigger: VueTypeValidableDef<string> & {
        default: string;
    };
    showSearchSolution: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    searchSolutionProps: VueTypeValidableDef<SearchSolution> & {
        default: () => SearchSolution;
    };
    showAdvanced: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
    autoAdvancedLines: VueTypeValidableDef<number> & {
        default: number;
    };
    t: VueTypeValidableDef<(key: string, ...args: any[]) => any>;
    simple: VueTypeValidableDef<boolean> & {
        default: boolean;
    };
};
