/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2025 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { ComponentOptionsMixin } from 'vue';
import { ComponentProvideOptions } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import { PropType } from 'vue';
import { PublicProps } from 'vue';

/**
 * @hidden
 */
declare const Error_2: DefineComponent<ExtractPropTypes<    {
id: PropType<string>;
direction: {
type: PropType<string>;
default: string;
validator: (value: string) => any;
};
}>, {}, {}, {
errorClassName(): ErrorComputed['errorClassName'];
}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<    {
id: PropType<string>;
direction: {
type: PropType<string>;
default: string;
validator: (value: string) => any;
};
}>> & Readonly<{}>, {
direction: string;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export { Error_2 as Error }

/**
 * @hidden
 */
declare interface ErrorComputed {
    [key: string]: any;
    errorClassName: object;
}

/**
 * Represents the props of the Kendo UI for Vue Error component.
 */
export declare interface ErrorProps {
    /**
     * Represents the id of the Error element.
     * The value should be also set to the editor's `ariaDescribedBy` property.
     */
    id?: string;
    /**
     * Specifies the alignment of the Error text.
     *
     * The possible values are:
     * * (Default) `start`
     * * `end`
     */
    direction?: string;
}

/**
 * @hidden
 */
export declare const FloatingLabel: DefineComponent<ExtractPropTypes<    {
label: PropType<string>;
labelClass: PropType<string>;
editorId: PropType<string>;
editorValue: PropType<any>;
editorPlaceholder: PropType<string>;
editorValid: {
type: PropType<boolean>;
default: any;
};
editorDisabled: PropType<boolean>;
id: PropType<string>;
optional: PropType<boolean>;
focused: {
type: PropType<boolean>;
default: any;
};
dir: PropType<string>;
}>, {
kendoLocalizationService: {};
}, {
currentFocused: boolean;
}, {
computedFocused(): any;
spanClassNames(): FloatingLabelComputed['spanClassNames'];
labelClassNames(): FloatingLabelComputed['labelClassNames'];
}, {
handleFocus(): void;
handleBlur(): void;
}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<    {
label: PropType<string>;
labelClass: PropType<string>;
editorId: PropType<string>;
editorValue: PropType<any>;
editorPlaceholder: PropType<string>;
editorValid: {
type: PropType<boolean>;
default: any;
};
editorDisabled: PropType<boolean>;
id: PropType<string>;
optional: PropType<boolean>;
focused: {
type: PropType<boolean>;
default: any;
};
dir: PropType<string>;
}>> & Readonly<{}>, {
editorValid: boolean;
focused: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;

/**
 * @hidden
 */
declare interface FloatingLabelComputed {
    [key: string]: any;
    spanClassNames: object;
    labelClassNames: object;
}

/**
 * Represents the props of the kendo UI for Vue FloatingLabel component.
 */
export declare interface FloatingLabelProps {
    /**
     * Represent the `for` property, which will be set to the `label` element.
     */
    editorId?: string;
    /**
     * Specifies the value of the editor. Used to define if the editor is empty.
     */
    editorValue?: any;
    /**
     * Specifies the placeholder of the editor. Used to define if the editor is empty.
     */
    editorPlaceholder?: string;
    /**
     * Specifies if the validity of the editor. Used to define the editor is invalid.
     */
    editorValid?: boolean;
    /**
     * Specifies if the editor is disabled.
     */
    editorDisabled?: boolean;
    /**
     * Adds a floating label that describes the editor.
     */
    label?: string;
    /**
     * Sets the `class` of the label element.
     */
    labelClass?: string;
    /**
     * Specifies the direction of the label.
     */
    dir?: string;
    /**
     * Represents the id of the label element.
     * The value should be also set to the editor's `ariaLabelledBy` property.
     * Can be used when the editor is not containing native form element.
     */
    id?: string;
    /**
     * If enabled, marks the label as optional.
     */
    optional?: boolean;
    /**
     * Sets the label in a focused position.
     */
    focused?: boolean;
}

/**
 * @hidden
 */
export declare const Hint: DefineComponent<ExtractPropTypes<    {
id: PropType<string>;
direction: {
type: PropType<string>;
default: string;
validator: (value: string) => any;
};
}>, {}, {}, {
hintClassName(): {
'k-form-hint': boolean;
'k-text-start': boolean;
'k-text-end': boolean;
};
}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<    {
id: PropType<string>;
direction: {
type: PropType<string>;
default: string;
validator: (value: string) => any;
};
}>> & Readonly<{}>, {
direction: string;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;

/**
 * Represents the props of the Kendo UI for Vue Hint component.
 */
export declare interface HintProps {
    /**
     * Represents the id of the Hint element.
     * The value should be also set to the editor's `ariaDescribedBy` property.
     */
    id?: string;
    /**
     * Specifies the alignment of the Hint text.
     *
     * The possible values are:
     * * (Default) `start`
     * * `end`
     */
    direction?: string;
}

/**
 * @hidden
 */
export declare const Label: DefineComponent<ExtractPropTypes<    {
id: PropType<string>;
editorId: PropType<string>;
editorRef: PropType<any>;
editorValid: {
type: PropType<boolean>;
default: any;
};
editorDisabled: PropType<boolean>;
optional: PropType<boolean>;
}>, {
kendoLocalizationService: {};
}, {}, {
labelClassName(): {
'k-label': boolean;
'k-label-empty': boolean;
'k-text-error': boolean;
'k-text-disabled': boolean;
};
}, {
onLabelClick(e: any): void;
}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<    {
id: PropType<string>;
editorId: PropType<string>;
editorRef: PropType<any>;
editorValid: {
type: PropType<boolean>;
default: any;
};
editorDisabled: PropType<boolean>;
optional: PropType<boolean>;
}>> & Readonly<{}>, {
editorValid: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;

/**
 * Represents the props of the Kendo UI for Vue Label component.
 */
export declare interface LabelProps {
    /**
     * Represents the id of the label element.
     * The value should be set to the editor `ariaLabelledBy` property.
     * Can be used when the editor is not containing native form element.
     */
    id?: string;
    /**
     * The id of the editor.
     */
    editorId?: string;
    /**
     * An optional Vue ref to the editor.
     * Used to redirect the click event to the editor when it does not contain native form element.
     * To be able to work, the editor should have `focus` method or `actionElement` prop on it's ref.
     */
    editorRef?: any;
    /**
     * Specifies the validity of the editor. Used to define the editor is invalid.
     */
    editorValid?: boolean;
    /**
     * Specifies if the editor is disabled.
     */
    editorDisabled?: boolean;
    /**
     * If enabled marks the label as optional.
     */
    optional?: boolean;
}

export { }
