import * as valibot from 'valibot';
import { InferInput } from 'valibot';
import React__default__default from 'react';

declare function useSendBoxSpeechInterimsVisible(): [boolean];
declare const basicSendBoxPropsSchema: valibot.SchemaWithPipe<readonly [valibot.ObjectSchema<{
    readonly className: valibot.OptionalSchema<valibot.StringSchema<undefined>, undefined>;
}, undefined>, valibot.ReadonlyAction<{
    className?: string;
}>]>;
type BasicSendBoxProps = InferInput<typeof basicSendBoxPropsSchema>;
declare function BasicSendBox(props: BasicSendBoxProps): React__default__default.JSX.Element;
declare const _default$1: React__default__default.MemoExoticComponent<typeof BasicSendBox>;

declare function useMicrophoneButtonClick(): () => void;
declare function useMicrophoneButtonDisabled(): [boolean];
type MicrophoneButtonProps = Readonly<{
    className?: string | undefined;
}>;
declare const _default: React__default__default.MemoExoticComponent<{
    ({ className }: MicrophoneButtonProps): React__default__default.JSX.Element;
    displayName: string;
}>;

/**
 * Submits the text box and optionally set the focus after send.
 */
type SubmitTextBoxFunction = {
    /**
     * Submits the text box, without setting the focus after send.
     *
     * @deprecated Instead of passing `false`, you should leave the `setFocus` argument `undefined`.
     */
    (setFocus: false): void;
    /**
     * Submits the text box and optionally set the focus after send.
     */
    (setFocus?: 'sendBox' | 'sendBoxWithoutKeyboard'): void;
};
declare function useTextBoxSubmit(): SubmitTextBoxFunction;
declare function useTextBoxValue(): [string, (textBoxValue: string) => void];
declare const TextBox: ({ className }: Readonly<{
    className?: string | undefined;
}>) => React__default__default.JSX.Element;

export { TextBox as T, _default$1 as _, _default as a, useMicrophoneButtonDisabled as b, useSendBoxSpeechInterimsVisible as c, useTextBoxSubmit as d, useTextBoxValue as e, useMicrophoneButtonClick as u };
