import React, { CSSProperties, FC, PropsWithChildren, ReactNode } from 'react';
import { IconProps } from '@hhgtech/icons/types';
export type TextFieldProps = {
    shrink?: boolean;
    onChangeShrink?: (shrink: boolean) => void;
    className?: string;
    style?: CSSProperties;
    children: ((shrink: boolean) => ReactNode) | ReactNode;
};
export type TextFieldComponent = FC<PropsWithChildren<TextFieldProps>> & {
    Control: FC<TextFieldControlProps>;
    Icon: FC<TextFieldIconProps>;
};
export declare const TextField: TextFieldComponent;
export type TextFieldControlProps = {
    style?: CSSProperties;
    htmlFor?: string;
    children: ((params: {
        shrink: boolean;
        hasIcon: boolean;
    }) => ReactNode) | ReactNode;
};
export declare const TextFieldControl: FC<TextFieldControlProps>;
export type TextFieldIconProps = {
    Icon: FC<IconProps & {
        shrink?: boolean;
    }>;
};
export declare const TextFieldIcon: ({ Icon }: TextFieldIconProps) => React.JSX.Element;
export type ChoiceFieldProps = {
    className?: string;
    style?: CSSProperties;
};
export declare const ChoiceField: FC<PropsWithChildren<ChoiceFieldProps>>;
