import React, { HTMLAttributes } from 'react';
import { FieldContextValue } from './FieldProvider';
/**
 * Props for Field.Control component
 *
 * Wrapper component for form controls (inputs, textarea elements, selects, etc.).
 * Provides consistent styling, validation state borders, and optional focus forwarding.
 * Can accept children as React nodes or a render function that receives field context.
 */
export interface FieldControlProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
    /**
     * Optional ref to a specific element to focus when control is clicked
     * If not provided, will attempt to focus the first child input element
     */
    controlRef?: React.RefObject<HTMLElement | null>;
    /**
     * Form control element(s) to wrap
     * Can be a React node or a function that receives FieldContextValue and returns a node
     */
    children: React.ReactNode | ((props: FieldContextValue) => React.ReactNode);
}
/**
 * Field.Control - Wrapper component for form controls
 *
 * Provides a styled container for form inputs with automatic focus forwarding,
 * validation state styling (error/success borders), and consistent layout.
 * Clicking anywhere in the control area will focus the contained input when
 * forwardFocus is enabled in Field.Root.
 *
 * @category Form Controls
 * @subcategory Layout
 *
 * @example
 * ```tsx
 * <Field.Root>
 *   <Field.Label htmlFor="username">Username</Field.Label>
 *   <Field.Control>
 *     <Input id="username" name="username" />
 *   </Field.Control>
 * </Field.Root>
 * ```
 *
 * @example
 * ```tsx
 * // With render function
 * <Field.Control>
 *   {(context) => (
 *     <Input
 *       name="email"
 *       disabled={context.disabled}
 *       css={{ borderColor: context.status === 'error' ? 'red' : 'blue' }}
 *     />
 *   )}
 * </Field.Control>
 * ```
 *
 * @example
 * ```tsx
 * // With custom control ref
 * const inputRef = useRef<HTMLInputElement>(null);
 * <Field.Control controlRef={inputRef}>
 *   <CustomInput ref={inputRef} />
 * </Field.Control>
 * ```
 *
 * @see {@link Field.Root} - Parent component that provides context
 */
export declare const FieldControl: React.ForwardRefExoticComponent<FieldControlProps & React.RefAttributes<HTMLDivElement>>;
