import type { IElementRef, OnCreate } from '@melodicdev/core';
import type { Size } from '../../../types/index.js';
import type { FormFieldOrientation } from './form-field.types.js';
/**
 * ml-form-field - Wrapper component that adds label, hint, and error to any form control
 *
 * @example
 * ```html
 * <ml-form-field label="Username" hint="Choose a unique username" required>
 *   <input type="text" />
 * </ml-form-field>
 *
 * <ml-form-field label="Email" error="Invalid email address">
 *   <input type="email" />
 * </ml-form-field>
 *
 * <ml-form-field label="Agree to terms" orientation="horizontal">
 *   <ml-checkbox></ml-checkbox>
 * </ml-form-field>
 * ```
 *
 * @slot default - The form control element
 */
export declare class FormFieldComponent implements IElementRef, OnCreate {
    elementRef: HTMLElement;
    /** Label text */
    label: string;
    /** Hint text shown below the control */
    hint: string;
    /** Error message (shows error state when set) */
    error: string;
    /** Field size */
    size: Size;
    /** Layout orientation */
    orientation: FormFieldOrientation;
    /** Disabled state */
    disabled: boolean;
    /** Required field indicator */
    required: boolean;
    /** Unique ID for connecting label to control */
    private readonly _fieldId;
    get fieldId(): string;
    get hintId(): string;
    get errorId(): string;
    get describedBy(): string;
    onCreate(): void;
    handleSlotChange: () => void;
    private connectSlottedControl;
    private findFormControl;
}
//# sourceMappingURL=form-field.component.d.ts.map