import { AriaAttributes, ReactElement } from 'react';
import { DataTrackingId } from '../../types';
import { FieldLabelProps } from '../FieldLabel';
/**
 * Props for the DaysOfTheWeek component
 */
export type DaysOfTheWeekProps = {
    /**
     * The selected days (1-7, where 1 is Monday and 7 is Sunday)
     */
    selectedDays?: number[];
    /**
     * Callback fired when the selection changes
     */
    onChange?: (selectedDays: number[]) => void;
    /**
     * Whether the component is disabled
     * Can be a boolean to disable all days, or an array of day numbers (1-7) to disable specific days
     */
    disabled?: boolean | number[];
    /**
     * The first day of the week (1-7, where 1 is Monday and 7 is Sunday)
     * @default 1
     */
    firstDay?: number;
    /**
     * Hint text or element to display above the component
     */
    hint?: ReactElement | string;
    /**
     * ID for the component
     */
    id?: string;
    /**
     * Description text or element to display below the component
     */
    description?: ReactElement | string;
    /**
     * Error message(s) to display. Supports a single string or an array of strings.
     */
    error?: string | string[];
    /**
     * Warning message(s) to display. Supports a single string or an array of strings.
     */
    warning?: string | string[];
    /**
     * @deprecated Use the `error` prop instead.
     */
    errorMessage?: ReactElement | string;
    /**
     * @deprecated No longer used. Error messages always use `aria-live="assertive"`.
     */
    errorAriaLive?: AriaAttributes["aria-live"];
    /**
     * Label text or element
     */
    label?: FieldLabelProps["children"];
    /**
     * Whether the field is required
     */
    required?: boolean;
    /**
     * Additional info to display in a tooltip next to the label
     */
    moreInfo?: FieldLabelProps["moreInfo"];
    /**
     * Additional props to pass to the Label component
     */
    labelProps?: FieldLabelProps;
} & DataTrackingId;
/**
 * DaysOfTheWeek component for selecting multiple days of the week.
 *
 * Features:
 * - Displays days of the week as toggleable buttons
 * - Supports custom first day of the week (Monday-Sunday)
 * - Individual day selection and deselection
 * - Optional label, hint, description, and error messaging
 * - Full accessibility support with ARIA attributes
 * - Tooltips showing full day names on hover
 * - Responsive design with flexible layout
 * - Support for disabling specific days or the entire component
 * - Automatic tracking ID generation for analytics
 *
 * @example
 * <DaysOfTheWeek
 *   selectedDays={[2, 4, 6]}
 *   onChange={(days) => console.log('Selected days:', days)}
 *   label="Working Days"
 *   firstDay={1}
 * />
 */
export declare const DaysOfTheWeek: import('react').ForwardRefExoticComponent<{
    /**
     * The selected days (1-7, where 1 is Monday and 7 is Sunday)
     */
    selectedDays?: number[];
    /**
     * Callback fired when the selection changes
     */
    onChange?: (selectedDays: number[]) => void;
    /**
     * Whether the component is disabled
     * Can be a boolean to disable all days, or an array of day numbers (1-7) to disable specific days
     */
    disabled?: boolean | number[];
    /**
     * The first day of the week (1-7, where 1 is Monday and 7 is Sunday)
     * @default 1
     */
    firstDay?: number;
    /**
     * Hint text or element to display above the component
     */
    hint?: ReactElement | string;
    /**
     * ID for the component
     */
    id?: string;
    /**
     * Description text or element to display below the component
     */
    description?: ReactElement | string;
    /**
     * Error message(s) to display. Supports a single string or an array of strings.
     */
    error?: string | string[];
    /**
     * Warning message(s) to display. Supports a single string or an array of strings.
     */
    warning?: string | string[];
    /**
     * @deprecated Use the `error` prop instead.
     */
    errorMessage?: ReactElement | string;
    /**
     * @deprecated No longer used. Error messages always use `aria-live="assertive"`.
     */
    errorAriaLive?: AriaAttributes["aria-live"];
    /**
     * Label text or element
     */
    label?: FieldLabelProps["children"];
    /**
     * Whether the field is required
     */
    required?: boolean;
    /**
     * Additional info to display in a tooltip next to the label
     */
    moreInfo?: FieldLabelProps["moreInfo"];
    /**
     * Additional props to pass to the Label component
     */
    labelProps?: FieldLabelProps;
} & DataTrackingId & import('react').RefAttributes<HTMLDivElement>>;
