import React, { CSSProperties, FC, PropsWithChildren, ReactNode } from 'react';
import { IconProps } from '@hhgtech/icons/types';
export type FloatingLabelControlProps = {
    shrink?: boolean;
    onChangeShrink?: (shrink: boolean) => void;
    className?: string;
    style?: CSSProperties;
    children: ((shrink: boolean) => ReactNode) | ReactNode;
};
export type FloatingLabelControlComponent = FC<PropsWithChildren<FloatingLabelControlProps>> & {
    Control: FC<FloatingLabelControlControlProps>;
    Icon: FC<FloatingLabelControlIconProps>;
};
export declare const FloatingLabelControl: FloatingLabelControlComponent;
export type FloatingLabelControlControlProps = {
    style?: CSSProperties;
    children: ((params: {
        shrink: boolean;
        hasIcon: boolean;
    }) => ReactNode) | ReactNode;
};
export declare const FloatingLabelControlControl: FC<FloatingLabelControlControlProps>;
export type FloatingLabelControlIconProps = {
    Icon: FC<IconProps & {
        shrink?: boolean;
    }>;
};
export declare const FloatingLabelControlIcon: ({ Icon, }: FloatingLabelControlIconProps) => React.JSX.Element;
export type ChoiceFieldProps = {
    className?: string;
    style?: CSSProperties;
};
export declare const ChoiceField: FC<PropsWithChildren<ChoiceFieldProps>>;
