import { Template } from '@bluepic/types';
import { VNode } from 'vue';
import { Localized, RichTextOption, RichTextFeature } from '@bluepic/types';
type __VLS_Props = {
    size?: 'tiny' | 'small' | 'medium' | 'large';
    loading?: boolean;
    round?: boolean;
    disabled?: boolean;
    inputProps?: {
        [k: string]: string;
    };
    placeholder?: string;
    validator?: (value: string) => boolean;
    maxLength?: number;
    maxLineLength?: number;
    maxLines?: number;
    showWordCount?: boolean;
    type?: 'text' | 'password' | 'number' | 'email' | 'tel' | 'textarea';
    state?: 'default' | 'active' | 'success' | 'error' | 'warning';
    ghost?: boolean;
    ring?: boolean;
    clearable?: boolean;
    resizeable?: boolean;
    richtext?: {
        options: RichTextOption[];
        userAgentRichText: boolean;
        noStyleLabel: Localized<string>;
        mixedStyleLabel: Localized<string>;
    };
    maxHeight?: string;
    minHeight?: string;
    readonly?: boolean;
    readonlyMessage?: string;
    bordered?: boolean;
    /** Accessible name for the field control. */
    ariaLabel?: string;
    /** Id of a visible label element; takes precedence over `ariaLabel`. */
    ariaLabelledby?: string;
};
type __VLS_Slots = {
    prefix?: () => VNode[] | VNode;
    suffix?: () => VNode[] | VNode;
    loading?: () => VNode[] | VNode;
};
type __VLS_PublicProps = __VLS_Props & {
    'modelValue'?: string | number | boolean | RichTextFeature[];
};
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
    inputEelRef: import("vue").Ref<HTMLInputElement | HTMLTextAreaElement | undefined, HTMLInputElement | HTMLTextAreaElement | undefined>;
    setFocus(focus: boolean): void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    blur: (event: FocusEvent) => any;
    focus: () => any;
    "update:modelValue": (value: string | number | boolean | Template.Fields.RichTextFeature[]) => any;
    enter: (event: KeyboardEvent) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    onBlur?: ((event: FocusEvent) => any) | undefined;
    onFocus?: (() => any) | undefined;
    "onUpdate:modelValue"?: ((value: string | number | boolean | Template.Fields.RichTextFeature[]) => any) | undefined;
    onEnter?: ((event: KeyboardEvent) => any) | undefined;
}>, {
    round: boolean;
    type: "text" | "password" | "number" | "email" | "tel" | "textarea";
    maxLength: number;
    maxLines: number;
    maxLineLength: number;
    showWordCount: boolean;
    clearable: boolean;
    maxHeight: string;
    size: "tiny" | "small" | "medium" | "large";
    readonly: boolean;
    disabled: boolean;
    loading: boolean;
    state: "default" | "active" | "success" | "error" | "warning";
    bordered: boolean;
    inputProps: {
        [k: string]: string;
    };
    ghost: boolean;
    ring: boolean;
    resizeable: boolean;
    readonlyMessage: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
