import React from 'react'; import { Label, Div } from '@cloudflare/elements'; import { FieldValidator } from './types'; declare type Without = { [P in Exclude]?: never; }; declare type XOR = T | U extends object ? (Without & U) | (Without & T) : T | U; declare type LabelProps = React.ComponentProps; declare type DivProps = React.ComponentProps; export declare type BaseProps = Omit & XOR<{ label: React.ReactNode; labelProps?: LabelProps; hideLabel?: boolean; }, { labelledBy: string; }> & XOR<{ error?: React.ReactNode; errorProps?: DivProps; }, { erroredBy?: string; }> & XOR<{ description?: React.ReactNode; descriptionProps?: DivProps; }, { describedBy?: string; }> & { name?: string; required?: boolean | ((value: ValueType) => boolean); requiredIndicator?: React.ReactNode; requiredMessage?: React.ReactNode; requiredValidate?: boolean; labelFirst?: boolean; componentStyleProps?: DivProps; invalid?: boolean; children?: React.ReactNode; className?: string; placeholder?: string; unwrapped?: boolean; validate?: FieldValidator; } & DivProps; declare type InternalBaseProps = BaseProps & { Component: React.ComponentType; }; export declare function UnstyledBase({ name, label, labelProps, hideLabel, labelledBy, description, descriptionProps, describedBy, error, errorProps, erroredBy, required, requiredIndicator, requiredMessage, labelFirst, children, Component, invalid, className, unwrapped, validate, requiredValidate, // Required validation can be disabled by setting false componentStyleProps, ...componentProps }: InternalBaseProps): JSX.Element; export declare function Base(props: InternalBaseProps): JSX.Element; export {};