import { IWelcomeMessage } from '../WelcomeMessage';
import { INewFooter } from '../NewFooter';
import { HeaderProps } from '../Header';
import { Nullish } from '../../types';

export interface INewChat extends React.PropsWithChildren {
    welcomeMessageProps: IWelcomeMessage;
    headerProps: HeaderProps;
    footerProps: Omit<INewFooter, 'scrollableAreaRef'>;
    /**
     * If true, shows a loading indicator.
     */
    isLoading: boolean;
    /**
     * If true, shows audio interface controls.
     */
    audioInterface?: boolean;
    /**
     * If true, the user is using a mobile device.
     */
    isMobile?: boolean;
    /**
     * A unix timestamp indicating the start of the conversation.
     */
    startTime?: Nullish<number>;
    /**
     * A callback that is executed when the chat widget is minimized.
     */
    onMinimize?: React.MouseEventHandler<HTMLButtonElement>;
    /**
     * A callback that is executed when the conversation ends.
     */
    onEnd?: React.MouseEventHandler<HTMLButtonElement>;
    /**
     * If true, the conversation was ended by the agent.
     */
    hasEnded: boolean;
    /**
     * A callback to start a new conversation.
     */
    onStart?: (() => Promise<void>) | undefined;
}
export declare const NewChat: import('react').FC<INewChat> & {
    Container: import('react').FC<import('./ChatContainer/ChatContainer.component').IChatContainer>;
};
//# sourceMappingURL=index.d.ts.map