import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { ColumnOptions } from '../column';
import { Rule } from './validator';
export declare const formProps: {
    inherit: PropType<boolean>;
    method: PropType<"delete" | "get" | "post" | "put">;
    action: PropType<string>;
    model: PropType<any>;
    rules: PropType<any>;
    labelWidth: PropType<number | "auto">;
    labelAlign: PropType<"top" | "right" | "left">;
    allRequired: PropType<boolean>;
    labelSuffix: PropType<string>;
    hideAsterisk: PropType<boolean>;
    validateAll: PropType<boolean>;
    hideLabel: PropType<boolean>;
    disabled: PropType<boolean>;
    loading: PropType<boolean>;
    size: PropType<"default" | "small" | "large">;
    inline: PropType<boolean>;
    gap: PropType<number | number[]>;
    justify: PropType<"center" | "start" | "end" | "space-around" | "space-between" | "space-evenly">;
    align: PropType<"bottom" | "top" | "middle" | "stretch">;
};
export type FormProps = ExtractPropTypes<typeof formProps>;
export type FormCProps = ConfigurableProps<FormProps, 'model'>;
export declare const formItemProps: {
    inherit: PropType<boolean>;
    locale: PropType<Partial<{
        submit: string;
        reset: string;
        notNullable: string;
        validateFail: string;
    }>>;
    label: PropType<string>;
    prop: PropType<string>;
    name: PropType<string>;
    rules: PropType<Rule | Rule[]>;
    labelWidth: PropType<number>;
    required: PropType<boolean>;
    htmlFor: PropType<string>;
    errorTransition: PropType<string>;
    defaultValue: PropType<any>;
    hideErrorTip: PropType<boolean>;
    validateAll: PropType<boolean>;
    hideAsterisk: PropType<boolean>;
    hideLabel: PropType<boolean>;
    action: PropType<boolean>;
    help: PropType<string>;
    pure: PropType<boolean>;
    span: PropType<number>;
    offset: PropType<number>;
    push: PropType<number>;
    pull: PropType<number>;
    order: PropType<number>;
    xs: PropType<number | ColumnOptions>;
    sm: PropType<number | ColumnOptions>;
    md: PropType<number | ColumnOptions>;
    lg: PropType<number | ColumnOptions>;
    xl: PropType<number | ColumnOptions>;
    xxl: PropType<number | ColumnOptions>;
    flex: PropType<string | number>;
};
export type FormItemProps = ExtractPropTypes<typeof formItemProps>;
export type FormItemCProps = ConfigurableProps<FormItemProps, 'prop' | 'htmlFor' | 'defaultValue'>;
export declare const formSubmitProps: {
    inherit: PropType<boolean>;
    size: PropType<"default" | "small" | "large">;
    locale: PropType<Partial<{
        submit: string;
        reset: string;
        notNullable: string;
        validateFail: string;
    }>>;
    type: PropType<"default" | "success" | "error" | "warning" | "info" | "primary">;
    label: PropType<string>;
    dashed: PropType<boolean>;
    text: PropType<boolean>;
    simple: PropType<boolean>;
    ghost: PropType<boolean>;
    disabled: PropType<boolean>;
    circle: PropType<boolean>;
    loadingIcon: PropType<any>;
    loadingEffect: PropType<string>;
    icon: PropType<any>;
    color: PropType<string>;
    buttonType: PropType<"button" | "reset" | "submit">;
    block: PropType<boolean>;
    tag: PropType<string>;
    onBeforeSubmit: PropType<() => unknown>;
    onSubmit: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    onError: PropType<((errors: string[]) => void) | ((errors: string[]) => void)[]>;
};
export type FormSubmitProps = ExtractPropTypes<typeof formSubmitProps>;
export type FormSubmitCProps = ConfigurableProps<FormSubmitProps, never, 'onBeforeReset'>;
export declare const formResetProps: {
    inherit: PropType<boolean>;
    size: PropType<"default" | "small" | "large">;
    locale: PropType<Partial<{
        submit: string;
        reset: string;
        notNullable: string;
        validateFail: string;
    }>>;
    type: PropType<"default" | "success" | "error" | "warning" | "info" | "primary">;
    label: PropType<string>;
    dashed: PropType<boolean>;
    text: PropType<boolean>;
    simple: PropType<boolean>;
    ghost: PropType<boolean>;
    disabled: PropType<boolean>;
    loading: PropType<boolean>;
    circle: PropType<boolean>;
    loadingIcon: PropType<any>;
    loadingEffect: PropType<string>;
    icon: PropType<any>;
    color: PropType<string>;
    buttonType: PropType<"button" | "reset" | "submit">;
    block: PropType<boolean>;
    tag: PropType<string>;
    onBeforeReset: PropType<() => unknown>;
    onReset: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
};
export type FormResetProps = ExtractPropTypes<typeof formResetProps>;
export type FormResetCProps = ConfigurableProps<FormResetProps, never, 'onBeforeReset'>;
