import { RenderResult } from '@testing-library/react';
import { UserEvent } from '@testing-library/user-event';
import { ComponentProps } from 'react';
import { DeviceType } from '@m4l/graphics';
import { Mock } from 'vitest';
import { DateTimeRangePicker } from '../DateTimeRangePicker';
import { DateTimeRangePickerValue } from '../types';
import { DateTimeRangePickerSlots } from '../slots/DateTimeRangePickerEnum';
export declare const DATE_TIME_RANGE_PICKER_TEST_DATA_TEST_ID = "Test";
export declare const DEFAULT_REFERENCE_DATE: Date;
export declare const DEFAULT_CALENDAR_MONTH: Date;
export declare const DEFAULT_TEST_WINDOW_INNER_WIDTH: number;
export declare const PRESELECTED_FULL_DAY_RANGE: DateTimeRangePickerValue;
export declare const EXPLICIT_TIME_RANGE: DateTimeRangePickerValue;
type DateTimeRangePickerTestProps = ComponentProps<typeof DateTimeRangePicker>;
type DateTimeRangePickerOnChange = NonNullable<DateTimeRangePickerTestProps['onChange']>;
interface RenderDateTimeRangePickerOptions {
    forcedDeviceType?: DeviceType;
}
interface RenderDateTimeRangePickerResult extends RenderResult {
    onChange: DateTimeRangePickerOnChange | Mock<DateTimeRangePickerOnChange>;
    user: UserEvent;
}
/**
 * Render the picker with the shared testing providers and localization wrapper.
 */
export declare function renderDateTimeRangePicker(additionalProps?: Partial<DateTimeRangePickerTestProps>, options?: RenderDateTimeRangePickerOptions): RenderDateTimeRangePickerResult;
/**
 * Build the stable slot test ID used by the picker root component.
 */
export declare function getDateTimeRangePickerSlotTestId(slot: keyof typeof DateTimeRangePickerSlots, dataTestId?: string, suffix?: string): string;
/**
 * Return the visible textbox rendered inside the shared TextField.
 */
export declare function getDateTimeRangePickerInput(dataTestId?: string): HTMLInputElement;
/**
 * Override the viewport width used by responsive picker tests.
 */
export declare function setDateTimeRangePickerTestWindowInnerWidth(width: number): void;
/**
 * Build the nested day-button test ID exposed by the composed range calendar.
 */
export declare function getDateTimeRangePickerCalendarDayTestId(dateKey: string, dataTestId?: string): string;
/**
 * Build the nested day-badge test ID exposed by the composed range calendar.
 */
export declare function getDateTimeRangePickerCalendarDayBadgeTestId(dateKey: string, dataTestId?: string): string;
/**
 * Type a full date-time range through the protected masked keyboard flow.
 */
export declare function typeSegmentedDateTimeRangeValue(user: UserEvent, input: HTMLInputElement, nextValue: string): Promise<void>;
export {};
//# sourceMappingURL=testUtils.d.ts.map