/**
 * @license
 * Copyright 2025 Sandlada & Kai Orion
 * SPDX-License-Identifier: MIT
 */
import { type SlotsType } from 'vue';
import { type TFieldSlot } from './field.definition';
export declare const Field: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly disabled: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly error: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly defaultFocused: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly label: {
        readonly type: import("vue").PropType<string>;
        readonly default: "";
    };
    readonly noAsterisk: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly defaultPopulated: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly required: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly resizable: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly supportingText: {
        readonly type: import("vue").PropType<string>;
        readonly default: "";
    };
    readonly errorText: {
        readonly type: import("vue").PropType<string>;
        readonly default: "";
    };
    readonly count: {
        readonly type: import("vue").PropType<number>;
        readonly default: -1;
    };
    readonly max: {
        readonly type: import("vue").PropType<number>;
        readonly default: -1;
    };
    readonly hasStart: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly hasEnd: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly appearance: {
        readonly type: import("vue").PropType<import("./field.definition").TFieldAppearance>;
        readonly default: "filled";
    };
}>, {}, {
    labelAnimation: null | Animation;
    isAnimating: boolean;
    refreshErrorAlert: boolean;
    disableTransitions: boolean;
    _populated: boolean;
    _focused: boolean;
    _wasPopulated: boolean;
    _wasFocused: boolean;
}, {
    populated: {
        get(): boolean;
        set(value: boolean): void;
    };
    focused: {
        get(): boolean;
        set(value: boolean): void;
    };
}, {
    getFloatingLabelElement(): HTMLElement;
    getRestingLabelElement(): HTMLElement;
    getContainerElement(): HTMLElement;
    supportingTextOrErrorText(): string;
    counterText(): string;
    renderSupportingText(): import("vue/jsx-runtime").JSX.Element;
    renderLabel(isFloating: boolean): import("vue/jsx-runtime").JSX.Element;
    renderOutline(floatingLabel: unknown): import("vue/jsx-runtime").JSX.Element;
    renderBackground(): import("vue/jsx-runtime").JSX.Element;
    renderStateLayer(): import("vue/jsx-runtime").JSX.Element;
    renderIndicator(): import("vue/jsx-runtime").JSX.Element;
    animateLabelIfNeeded(): void;
    getLabelKeyframes(): {
        transform: string;
        width: string;
    }[];
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, never[], never, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly disabled: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly error: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly defaultFocused: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly label: {
        readonly type: import("vue").PropType<string>;
        readonly default: "";
    };
    readonly noAsterisk: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly defaultPopulated: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly required: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly resizable: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly supportingText: {
        readonly type: import("vue").PropType<string>;
        readonly default: "";
    };
    readonly errorText: {
        readonly type: import("vue").PropType<string>;
        readonly default: "";
    };
    readonly count: {
        readonly type: import("vue").PropType<number>;
        readonly default: -1;
    };
    readonly max: {
        readonly type: import("vue").PropType<number>;
        readonly default: -1;
    };
    readonly hasStart: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly hasEnd: {
        readonly type: import("vue").PropType<boolean>;
        readonly default: false;
    };
    readonly appearance: {
        readonly type: import("vue").PropType<import("./field.definition").TFieldAppearance>;
        readonly default: "filled";
    };
}>> & Readonly<{}>, {
    readonly label: string;
    readonly appearance: import("./field.definition").TFieldAppearance;
    readonly error: boolean;
    readonly disabled: boolean;
    readonly defaultFocused: boolean;
    readonly noAsterisk: boolean;
    readonly defaultPopulated: boolean;
    readonly required: boolean;
    readonly resizable: boolean;
    readonly supportingText: string;
    readonly errorText: string;
    readonly count: number;
    readonly max: number;
    readonly hasStart: boolean;
    readonly hasEnd: boolean;
}, SlotsType<TFieldSlot>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
//# sourceMappingURL=field.d.ts.map