import { type MdyReactivity } from "@modyra/core"; import { type MdyDateRangeValue } from "../behavior.js"; import type { MdyWidgetController } from "../contract.js"; import type { MdyDaterangeFieldControllerOptions, MdyDaterangeFieldIntent, MdyDaterangeFieldState } from "./daterange-field-types.js"; export interface MdyDaterangeFieldController extends MdyWidgetController { /** Set the range programmatically without producing a command. */ setValue(value: MdyDateRangeValue): void; /** Update the readonly state. */ setReadonly(readonly: boolean): void; /** * Replace the range of dates on offer, ISO `YYYY-MM-DD` or null for open-ended. * * A host whose bounds move — a return date that cannot precede a departure — tells the controller * rather than building a new one, which would forget the month on screen and which end the next * pick closes. */ setBounds(minDate: string | null, maxDate: string | null): void; } export declare function createDaterangeFieldController(options: MdyDaterangeFieldControllerOptions, reactivity?: MdyReactivity): MdyDaterangeFieldController;