import type { InputHTMLAttributes } from 'vue';
import type { VariantProps } from 'tailwind-variants';
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
import type { PartialString } from '../types/utils';
declare const input: import("tailwind-variants").TVReturnType<{
    buttonGroup: {
        horizontal: {
            root: string;
            base: string;
        };
        vertical: {
            root: string;
            base: string;
        };
    };
    noSplit: {
        false: string;
    };
    size: {
        xs: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        sm: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        md: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        lg: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
    };
    color: {
        default: string;
        danger: string;
        success: string;
        warning: string;
        primary: string;
        secondary: string;
        collab: string;
        ai: string;
    };
    tagColor: {
        default: {
            tag: string;
        };
        danger: {
            tag: string;
        };
        success: {
            tag: string;
        };
        warning: {
            tag: string;
        };
        primary: {
            tag: string;
        };
        secondary: {
            tag: string;
        };
        collab: {
            tag: string;
        };
        ai: {
            tag: string;
        };
    };
    rounded: {
        true: string;
        false: string;
    };
    noPadding: {
        true: {
            base: string;
        };
    };
    noBorder: {
        true: string;
    };
    underline: {
        true: string;
    };
    leading: {
        true: string;
    };
    trailing: {
        true: string;
    };
    loading: {
        true: string;
    };
    highlight: {
        true: string;
    };
    type: {
        file: string;
    };
}, {
    root: string;
    base: string;
    leading: string;
    leadingIcon: string;
    leadingAvatar: string;
    leadingAvatarSize: string;
    trailing: string;
    trailingIcon: string;
    tag: string;
}, undefined, {
    buttonGroup: {
        horizontal: {
            root: string;
            base: string;
        };
        vertical: {
            root: string;
            base: string;
        };
    };
    noSplit: {
        false: string;
    };
    size: {
        xs: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        sm: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        md: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        lg: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
    };
    color: {
        default: string;
        danger: string;
        success: string;
        warning: string;
        primary: string;
        secondary: string;
        collab: string;
        ai: string;
    };
    tagColor: {
        default: {
            tag: string;
        };
        danger: {
            tag: string;
        };
        success: {
            tag: string;
        };
        warning: {
            tag: string;
        };
        primary: {
            tag: string;
        };
        secondary: {
            tag: string;
        };
        collab: {
            tag: string;
        };
        ai: {
            tag: string;
        };
    };
    rounded: {
        true: string;
        false: string;
    };
    noPadding: {
        true: {
            base: string;
        };
    };
    noBorder: {
        true: string;
    };
    underline: {
        true: string;
    };
    leading: {
        true: string;
    };
    trailing: {
        true: string;
    };
    loading: {
        true: string;
    };
    highlight: {
        true: string;
    };
    type: {
        file: string;
    };
}, {
    root: string;
    base: string;
    leading: string;
    leadingIcon: string;
    leadingAvatar: string;
    leadingAvatarSize: string;
    trailing: string;
    trailingIcon: string;
    tag: string;
}, import("tailwind-variants").TVReturnType<{
    buttonGroup: {
        horizontal: {
            root: string;
            base: string;
        };
        vertical: {
            root: string;
            base: string;
        };
    };
    noSplit: {
        false: string;
    };
    size: {
        xs: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        sm: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        md: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        lg: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
    };
    color: {
        default: string;
        danger: string;
        success: string;
        warning: string;
        primary: string;
        secondary: string;
        collab: string;
        ai: string;
    };
    tagColor: {
        default: {
            tag: string;
        };
        danger: {
            tag: string;
        };
        success: {
            tag: string;
        };
        warning: {
            tag: string;
        };
        primary: {
            tag: string;
        };
        secondary: {
            tag: string;
        };
        collab: {
            tag: string;
        };
        ai: {
            tag: string;
        };
    };
    rounded: {
        true: string;
        false: string;
    };
    noPadding: {
        true: {
            base: string;
        };
    };
    noBorder: {
        true: string;
    };
    underline: {
        true: string;
    };
    leading: {
        true: string;
    };
    trailing: {
        true: string;
    };
    loading: {
        true: string;
    };
    highlight: {
        true: string;
    };
    type: {
        file: string;
    };
}, {
    root: string;
    base: string;
    leading: string;
    leadingIcon: string;
    leadingAvatar: string;
    leadingAvatarSize: string;
    trailing: string;
    trailingIcon: string;
    tag: string;
}, undefined, {
    buttonGroup: {
        horizontal: {
            root: string;
            base: string;
        };
        vertical: {
            root: string;
            base: string;
        };
    };
    noSplit: {
        false: string;
    };
    size: {
        xs: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        sm: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        md: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        lg: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
    };
    color: {
        default: string;
        danger: string;
        success: string;
        warning: string;
        primary: string;
        secondary: string;
        collab: string;
        ai: string;
    };
    tagColor: {
        default: {
            tag: string;
        };
        danger: {
            tag: string;
        };
        success: {
            tag: string;
        };
        warning: {
            tag: string;
        };
        primary: {
            tag: string;
        };
        secondary: {
            tag: string;
        };
        collab: {
            tag: string;
        };
        ai: {
            tag: string;
        };
    };
    rounded: {
        true: string;
        false: string;
    };
    noPadding: {
        true: {
            base: string;
        };
    };
    noBorder: {
        true: string;
    };
    underline: {
        true: string;
    };
    leading: {
        true: string;
    };
    trailing: {
        true: string;
    };
    loading: {
        true: string;
    };
    highlight: {
        true: string;
    };
    type: {
        file: string;
    };
}, {
    root: string;
    base: string;
    leading: string;
    leadingIcon: string;
    leadingAvatar: string;
    leadingAvatarSize: string;
    trailing: string;
    trailingIcon: string;
    tag: string;
}, import("tailwind-variants").TVReturnType<{
    buttonGroup: {
        horizontal: {
            root: string;
            base: string;
        };
        vertical: {
            root: string;
            base: string;
        };
    };
    noSplit: {
        false: string;
    };
    size: {
        xs: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        sm: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        md: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
        lg: {
            base: string;
            leading: string;
            trailing: string;
            leadingIcon: string;
            leadingAvatarSize: string;
            trailingIcon: string;
        };
    };
    color: {
        default: string;
        danger: string;
        success: string;
        warning: string;
        primary: string;
        secondary: string;
        collab: string;
        ai: string;
    };
    tagColor: {
        default: {
            tag: string;
        };
        danger: {
            tag: string;
        };
        success: {
            tag: string;
        };
        warning: {
            tag: string;
        };
        primary: {
            tag: string;
        };
        secondary: {
            tag: string;
        };
        collab: {
            tag: string;
        };
        ai: {
            tag: string;
        };
    };
    rounded: {
        true: string;
        false: string;
    };
    noPadding: {
        true: {
            base: string;
        };
    };
    noBorder: {
        true: string;
    };
    underline: {
        true: string;
    };
    leading: {
        true: string;
    };
    trailing: {
        true: string;
    };
    loading: {
        true: string;
    };
    highlight: {
        true: string;
    };
    type: {
        file: string;
    };
}, {
    root: string;
    base: string;
    leading: string;
    leadingIcon: string;
    leadingAvatar: string;
    leadingAvatarSize: string;
    trailing: string;
    trailingIcon: string;
    tag: string;
}, undefined, unknown, unknown, undefined>>>;
type InputVariants = VariantProps<typeof input>;
export interface InputProps extends UseComponentIconsProps {
    /**
     * The element or component this component should render as.
     * @defaultValue 'div'
     */
    as?: any;
    id?: string;
    name?: string;
    /**
     * @defaultValue 'text'
     */
    type?: InputHTMLAttributes['type'];
    /**
     * The placeholder text when the input is empty.
     */
    placeholder?: string;
    /**
     * @defaultValue 'primary'
     */
    color?: InputVariants['color'];
    /**
     * @defaultValue 'md'
     */
    size?: InputVariants['size'];
    /**
     * Removes padding from input
     * @defaultValue false
     */
    noPadding?: boolean;
    /**
     * Removes all borders (rings)
     * @defaultValue false
     */
    noBorder?: boolean;
    /**
     * Removes all borders (rings) except the bottom one
     * @defaultValue false
     */
    underline?: boolean;
    /**
     * Rounds the corners of the button
     * @defaultValue false
     */
    rounded?: boolean;
    /**
     * @defaultValue false
     */
    required?: boolean;
    /**
     * @defaultValue 'off'
     */
    autocomplete?: InputHTMLAttributes['autocomplete'];
    /**
     * @defaultValue false
     */
    autofocus?: boolean;
    /**
     * @defaultValue 0
     */
    autofocusDelay?: number;
    /**
     * @defaultValue false
     */
    disabled?: boolean;
    tag?: string;
    /**
     * @defaultValue 'primary'
     */
    tagColor?: InputVariants['tagColor'];
    /**
     * Highlight the ring color like a focus state
     * @defaultValue false
     */
    highlight?: boolean;
    class?: any;
    b24ui?: PartialString<typeof input.slots>;
}
export interface InputEmits {
    (e: 'update:modelValue', payload: string | number): void;
    (e: 'blur', event: FocusEvent): void;
    (e: 'change', event: Event): void;
}
export interface InputSlots {
    leading(props?: {}): any;
    default(props?: {}): any;
    trailing(props?: {}): any;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
    modelValue?: string | number | null;
} & InputProps>, {
    type: string;
    autocomplete: string;
    autofocusDelay: number;
}>>, {
    inputRef: import("vue").Ref<HTMLInputElement | null, HTMLInputElement | null>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
    modelValue?: string | number | null;
} & InputProps>, {
    type: string;
    autocomplete: string;
    autofocusDelay: number;
}>>> & Readonly<{}>, {
    type: import("vue").InputTypeHTMLAttribute;
    autocomplete: string;
    autofocusDelay: number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<InputSlots> & InputSlots>;
export default _default;
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToOption<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_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
