/** * Headless timepicker field controller. * * The picker edits a draft: turning the dial, typing a segment and switching period all change a * working copy, and nothing reaches the field until `"confirm"`. Cancelling discards it, so a * dismissed picker leaves the value exactly as it found it. * * The working copy is canonical 12h whatever the field's own `format` says, which keeps one * representation for the dial to move through; `formatTimeAs` converts on the way out. The angle and * parsing maths lives in `@modyra/core/datetime` — a renderer drawing its own clock face needs the * same functions. */ import type { MdyReactivity } from "@modyra/core"; import type { MdyWidgetController } from "../contract.js"; import type { MdyTimepickerFieldControllerOptions, MdyTimepickerFieldIntent, MdyTimepickerFieldState } from "./timepicker-field-types.js"; export interface MdyTimepickerFieldController extends MdyWidgetController { /** Set the committed value (in `format`) programmatically without producing a command. */ setValue(value: string | null): void; /** Update the readonly state. */ setReadonly(readonly: boolean): void; } export declare function createTimepickerFieldController(options: MdyTimepickerFieldControllerOptions, reactivity?: MdyReactivity): MdyTimepickerFieldController;