import type { ComputedRef, Ref } from "vue"; export type ZipPayload = { zip: string; }; export type UseZipTextBoxOptions = { /** The `id` of the Kendo `TextBox` input element. Must match the `id` prop * passed to ``. Used by `submitAndValidate({ focus: true })` to focus * the field when validation fails. */ id: string; initialValue?: string; errorMessage?: string; required?: boolean; }; export type UseZipTextBoxState = { zipDisplay: Ref; submitted: Ref; errorMessage: Ref; }; export type UseZipTextBoxBindings = { /** Bind to `:wrapperClass` on `` so Kendo applies `fk-zip-textbox` * to its wrapper element on every render — no manual DOM manipulation needed. */ readonly wrapperClass: string; }; export type UseZipTextBoxDerived = { readonly zipRaw: ComputedRef; readonly isZipValid: ComputedRef; readonly showZipError: ComputedRef; readonly textBoxValid: ComputedRef; readonly textBoxValidate: ComputedRef; }; export type UseZipTextBoxActions = { handleZipInput: (...args: unknown[]) => void; submitAndValidate: (opts?: { focus?: boolean; }) => boolean; buildPayload: () => ZipPayload; }; export type UseZipTextBoxApi = {} & UseZipTextBoxState & UseZipTextBoxBindings & UseZipTextBoxDerived & UseZipTextBoxActions; export declare const useZipTextBox: (options: UseZipTextBoxOptions) => UseZipTextBoxApi;