import { InputValidator } from "../validate/InputValidator.mjs";
import { ComponentField, FieldType, GetErrors, InputPropsField, PropsField, RenderField, TextFieldPropsField } from "../../types.mjs";

//#region src/utils/builders/FieldBuilder.d.ts
declare class FieldBuilder<Field extends FieldType<any, any, any, any>> extends InputValidator<Field> {
  private _ns?;
  get ns(): string | undefined;
  set ns(ns: string | undefined);
  render?: RenderField<Field>;
  fullWidth?: boolean;
  autoComplete?: string;
  InputProps?: InputPropsField<Field>;
  textFieldProps?: TextFieldPropsField;
  component?: ComponentField<Field>;
  constructor(props: PropsField<Field>);
  protected getErrorsBase(props?: {
    sequential: boolean;
  }): Promise<GetErrors<Field['validations']> | undefined>;
  getErrors: () => Promise<GetErrors<Field["validations"]> | undefined>;
  hasErrors: () => Promise<boolean>;
  hasValid: () => Promise<boolean>;
  setValue(value: Field['value']): Promise<void>;
}
//#endregion
export { FieldBuilder, FieldBuilder as default };