import { FormPromiseType, LabelPositionType } from '../../types';
import { COMPONENT_SIZE_TYPE } from '../../enum/constants';
interface IFProps {
    /** @description Form data model object containing all form field values */
    model?: object;
    /** @description Position of form labels relative to inputs (top, left, right) */
    labelPosition?: LabelPositionType;
    /** @description Maximum width of the form container */
    maxWidth?: string | number;
    /** @description Size variant for all form inputs */
    size?: COMPONENT_SIZE_TYPE;
    /** @description Whether all form inputs are disabled */
    disabled?: boolean;
    /** @description Whether to scroll to the first error field on validation failure */
    scrollToError?: boolean;
    /** @description Whether form items are displayed inline */
    inline?: boolean;
    /** @description Whether to display validation messages inline with inputs */
    inlineMessage?: boolean;
    /** @description Whether to show status icons for validation states */
    statusIcon?: boolean;
}
declare function validate(): Promise<FormPromiseType>;
declare function validateField(field: string | string[]): Promise<FormPromiseType>;
declare function resetFields(fields?: string | string[]): void;
declare function scrollToField(prop?: string): void;
declare function clearValidate(props?: string | string[]): void;
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<IFProps>, {
    labelPosition: string;
    maxWidth: string;
    size: string;
    disabled: boolean;
    scrollToError: boolean;
    inline: undefined;
    inlineMessage: undefined;
    statusIcon: undefined;
    model: undefined;
}>>, {
    validate: typeof validate;
    validateField: typeof validateField;
    resetFields: typeof resetFields;
    scrollToField: typeof scrollToField;
    clearValidate: typeof clearValidate;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<IFProps>, {
    labelPosition: string;
    maxWidth: string;
    size: string;
    disabled: boolean;
    scrollToError: boolean;
    inline: undefined;
    inlineMessage: undefined;
    statusIcon: undefined;
    model: undefined;
}>>> & Readonly<{}>, {
    size: "" | "small" | "default" | "large";
    disabled: boolean;
    maxWidth: string | number;
    model: object;
    labelPosition: LabelPositionType;
    inline: boolean;
    inlineMessage: boolean;
    statusIcon: boolean;
    scrollToError: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
