import { ComponentOptionsMixin } from 'vue';
import { ComponentProvideOptions } from 'vue';
import { DefineComponent } from 'vue';
import { PublicProps } from 'vue';

declare type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};

declare const _default: __VLS_WithTemplateSlots<DefineComponent<FieldProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<FieldProps> & Readonly<{}>, {
id: string;
fieldset: boolean;
label: string;
disabled: boolean;
errorText: string;
hintText: string;
errorId: string;
isRequired: boolean;
isDisabled: boolean;
addBottomSpace: boolean;
showOptionalInLabel: boolean;
isLabelSrOnly: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
    default?(_: {
        fieldId: string;
        fieldErrorId: string;
        hasError: boolean;
        isRequired: boolean;
        isReadOnly: boolean;
        disabled: boolean;
        labelId: string;
        showOptionalInLabel: boolean;
    }): any;
    hint?(_: {}): any;
}>;
export default _default;

export declare interface FieldProps {
    /**
     * Adds spacing under the field that is consistent whether hint/error text is displayed.
     */
    addBottomSpace?: boolean;
    /**
     * Error text to display. Replaces `hintText` (if provided) & adds error styling.
     */
    errorText?: string;
    /**
     * Displays text below the input; hidden when the isReadOnly prop is truthy.
     */
    hintText?: string;
    /**
     * ID for the Label and Input; must be unique
     */
    id?: string;
    /**
     * ID for the error text element; useful for aria-errormessage
     */
    errorId?: string;
    /**
     * Whether it's a readonly field.
     */
    isReadOnly?: boolean;
    /**
     * Whether the field is required.
     */
    isRequired?: boolean;
    /**
     * Label to render above the input.
     */
    label?: string;
    /**
     * Show "(optional)" to the right of the label text
     */
    showOptionalInLabel?: boolean;
    /**
     * Indicates whether the label should be visually hidden (screen reader only).
     */
    isLabelSrOnly?: boolean;
    /**
     * Indicates wheter the field is a fieldset or not
     */
    fieldset?: boolean;
    /**
     * Indicates whether the field is disabled.
     */
    isDisabled?: boolean;
    /**
     * Indicates whether the field is disabled.
     *
     * @deprecated Use `isDisabled` instead.
     */
    disabled?: boolean;
}

export { }
