import "./verify_field.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; export type VerifyStatus = "idle" | "match" | "mismatch"; export interface VerifyFieldProps extends StyleProps { value: string; onValueChange: (text: string) => void; placeholder?: string; /** Verify state — drives the border colour, the leading glyph, and the inline * message. Stays "idle" until the consumer compares the scan to the expected * code and reports the result. */ status?: VerifyStatus; /** Inline confirmation shown when `status` is "match". */ matchHint?: string; /** Inline correction shown when `status` is "mismatch". */ mismatchHint?: string; /** Fired on Enter, which is also what a scan gun sends after the code. */ onSubmit?: () => void; accessibilityLabel?: string; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** * A value CHECKED against one the caller already holds — the right bin, the * right item, the right tote. Unlike a plain field it carries a VERIFY state: * the border, the leading glyph and an inline message go green on a match and * red on a mismatch, so the reader gets a go / no-go before they act. Typed or * scanned; the field does not care which. */ export declare function VerifyField({ value, onValueChange, placeholder, status, matchHint, mismatchHint, onSubmit, accessibilityLabel, testID, render, ref, ...props }: VerifyFieldProps): React.ReactElement>;