export type DokuFormFieldAccessorValidateValue = 'valid' | 'invalid';
export type DokuFormFieldAccessorValidateState = {
    pristine?: boolean;
    untouched?: boolean;
};
export interface DokuFormFieldOptions {
    withoutInputStyle?: boolean;
}
export interface DokuFormFieldAccessor {
    fieldOptions?: DokuFormFieldOptions;
    /**
     * @internal
     */
    onFocus?: () => void;
    /**
     * @internal
     */
    onBlur?: () => void;
    /**
     * @internal
     */
    onDisable?: (value: boolean) => void;
    /**
     * @internal
     */
    onReadonly?: (value: boolean) => void;
    /**
     * @internal
     */
    onValidate?: (value?: DokuFormFieldAccessorValidateValue) => void;
    /**
     * @internal
     */
    onClickWrapperElement?(event: Event): void;
    /**
     * @internal
     */
    registerOnFocus?(fn: () => void): void;
    /**
     * @internal
     */
    registerOnBlur?(fn: () => void): void;
    /**
     * @internal
     */
    registerOnDisable?(fn: (value: boolean) => void): void;
    /**
     * @internal
     */
    registerOnReadonly?(fn: (value: boolean) => void): void;
    /**
     * @internal
     */
    registerOnValidate?(fn: (value?: DokuFormFieldAccessorValidateValue, state?: DokuFormFieldAccessorValidateState) => void): void;
}
