import { ReactElement } from 'react';
import { HelperProps } from '../../internal/components';
import { LayoutUtilProps, Size } from '../../types';
import { FieldLabelProps } from '../FieldLabel';
import { YearlessDate, YearlessDateMode } from '../DateFieldYearless/types';
export type DateFieldYearlessRangeValue = {
    startDate: YearlessDate | null;
    endDate: YearlessDate | null;
};
export type DateFieldYearlessRangeChange = {
    startDate: YearlessDate | null;
    endDate: YearlessDate | null;
};
export type DateFieldYearlessRangeChangeHandler = (change: DateFieldYearlessRangeChange) => void;
export type DateFieldYearlessRangeProps = {
    /**
     * The controlled value of the date field
     */
    value?: DateFieldYearlessRangeValue;
    /**
     * The default value for uncontrolled usage
     */
    defaultValue?: DateFieldYearlessRangeValue;
    /**
     * The function to call when the date value changes
     */
    onChange?: DateFieldYearlessRangeChangeHandler;
    /**
     * The date format mode (mm/dd or dd/mm)
     */
    mode?: YearlessDateMode;
    /**
     * Whether the field is required
     */
    required?: boolean;
    /**
     * Whether the picker is disabled
     */
    disablePicker?: boolean;
    /**
     * Whether to disable the hint
     */
    disableHint?: boolean;
    /**
     * Error state for the field. Pass `true` to indicate error styling without a message.
     * Pass a string, string[], or ReactElement (deprecated) for error messages.
     */
    error?: boolean | string | ReactElement | string[];
    /**
     * Label for the field group. Always required for accessibility.
     */
    label: string;
    /**
     * When `true`, hides the visible legend while keeping it accessible to screen readers.
     * @default false
     */
    hideLabel?: boolean;
    size?: Extract<Size, "small" | "medium" | "large">;
    description?: HelperProps["description"];
    /**
     * @deprecated No longer used. Error messages always use `aria-live="assertive"`.
     */
    errorAriaLive?: HelperProps["errorAriaLive"];
    /**
     * Warning message(s) to display. Supports a single string or an array of strings.
     */
    warning?: string | string[];
    disabled?: boolean;
    onFocus?: (event: React.FocusEvent) => void;
    onBlur?: (event: React.FocusEvent) => void;
    id?: string;
    startLabel?: string;
    endLabel?: string;
    legendProps?: Omit<FieldLabelProps, "el">;
    moreInfo?: FieldLabelProps["moreInfo"];
} & LayoutUtilProps;
/**
 * DateFieldYearlessRange component for entering a start and end month/day
 * pair — a date range with no year, e.g. recurring events or anniversaries.
 *
 * Features:
 * - Two masked month/day inputs (mm/dd or dd/mm mode) with a picker toggle
 * - Separate `startLabel`/`endLabel` under a shared field-group `label`
 * - Optional error, warning, hint, and description messaging
 * - `disablePicker` and `disableHint` to trim the UI down when not needed
 *
 * @example
 * <DateFieldYearlessRange
 *   label="Recurring event"
 *   startLabel="Start"
 *   endLabel="End"
 *   value={{ startDate: { month: 7, day: 2 }, endDate: { month: 7, day: 10 } }}
 *   onChange={(change) => console.log(change)}
 * />
 */
export declare const DateFieldYearlessRange: (props: DateFieldYearlessRangeProps) => import("react/jsx-runtime").JSX.Element;
