import { WithSlots } from "../../lib/slots.cjs";
import * as react_jsx_runtime0 from "react/jsx-runtime";
import { UserMessage } from "@ag-ui/core";

//#region src/components/chat/CopilotChatUserMessage.d.ts
interface CopilotChatUserMessageOnEditMessageProps {
  message: UserMessage;
}
interface CopilotChatUserMessageOnSwitchToBranchProps {
  message: UserMessage;
  branchIndex: number;
  numberOfBranches: number;
}
type CopilotChatUserMessageProps = WithSlots<{
  messageRenderer: typeof CopilotChatUserMessage.MessageRenderer;
  toolbar: typeof CopilotChatUserMessage.Toolbar;
  copyButton: typeof CopilotChatUserMessage.CopyButton;
  editButton: typeof CopilotChatUserMessage.EditButton;
  branchNavigation: typeof CopilotChatUserMessage.BranchNavigation;
}, {
  onEditMessage?: (props: CopilotChatUserMessageOnEditMessageProps) => void;
  onSwitchToBranch?: (props: CopilotChatUserMessageOnSwitchToBranchProps) => void;
  message: UserMessage;
  branchIndex?: number;
  numberOfBranches?: number;
  additionalToolbarItems?: React.ReactNode;
} & React.HTMLAttributes<HTMLDivElement>>;
declare function CopilotChatUserMessage({
  message,
  onEditMessage,
  branchIndex,
  numberOfBranches,
  onSwitchToBranch,
  additionalToolbarItems,
  messageRenderer,
  toolbar,
  copyButton,
  editButton,
  branchNavigation,
  children,
  className,
  ...props
}: CopilotChatUserMessageProps): react_jsx_runtime0.JSX.Element;
declare namespace CopilotChatUserMessage {
  const Container: React.FC<React.PropsWithChildren<React.HTMLAttributes<HTMLDivElement>>>;
  const MessageRenderer: React.FC<{
    content: string;
    className?: string;
  }>;
  const Toolbar: React.FC<React.HTMLAttributes<HTMLDivElement>>;
  const ToolbarButton: React.FC<React.ButtonHTMLAttributes<HTMLButtonElement> & {
    title: string;
    children: React.ReactNode;
  }>;
  const CopyButton: React.FC<React.ButtonHTMLAttributes<HTMLButtonElement> & {
    copied?: boolean;
  }>;
  const EditButton: React.FC<React.ButtonHTMLAttributes<HTMLButtonElement>>;
  const BranchNavigation: React.FC<React.HTMLAttributes<HTMLDivElement> & {
    currentBranch?: number;
    numberOfBranches?: number;
    onSwitchToBranch?: (props: CopilotChatUserMessageOnSwitchToBranchProps) => void;
    message: UserMessage;
  }>;
}
//#endregion
export { CopilotChatUserMessage, CopilotChatUserMessageProps };
//# sourceMappingURL=CopilotChatUserMessage.d.cts.map