import type { JSX, ValidComponent } from "@solidjs/web";
import { type FieldRootState } from "../../internals/field-context.js";
import type { BaseUIComponentProps } from "../../internals/types.js";
export interface FieldControlState extends FieldRootState {
}
export interface FieldControlProps extends BaseUIComponentProps<"input", FieldControlState> {
/** Tag/component to render. Defaults to `"input"`. */
as?: ValidComponent;
}
/**
* The form control to label and validate. Renders an `` element.
*
* Wires:
* - id registration into the surrounding `` (so
* `` can point `htmlFor` at us).
* - value registration into the surrounding `` (so form-level
* validation / submit focus can find us).
* - `aria-labelledby` composed from any labels registered with the provider.
* - `aria-describedby` composed from descriptions + errors registered with
* the field-messages registry.
* - `onInput` / `onBlur` / `onFocus` into the root's touched/dirty/filled/
* focused setters and the validation pipeline (`validation.commit` on
* blur when `validationMode === 'onBlur'`; `validation.getInputValidationProps()`
* merges an `onInput`-driven commit for `onChange`/`onSubmit` modes).
*/
export declare function FieldControl(props: FieldControlProps): JSX.Element;
//# sourceMappingURL=field-control.d.ts.map