import type { InjectionKey, Ref } from 'vue'; export declare type ErrorField = { cid: string; errors: string[]; }; export declare type Rule = (value?: any) => string | boolean | Promise; export declare type ErrorBag = Array; export declare type Fieldset = Array; export interface FormField { cid: Ref; label: Ref; dirty: Ref; touched: Ref; processing: Ref; validate: () => Promise; reset: () => void; } export interface FormAPI { searchErrors: (id: string) => ErrorField[]; purgeErrors: (id: string) => void; addError: (errorField: ErrorField) => void; registerField: (field: FormField) => void; unregisterField: (field: FormField) => void; } export declare const formKey: InjectionKey;