import { type CSSProperties, type MouseEventHandler, type ReactNode, type RefObject } from 'react'; import type { ArkmeConversationMemberItem, ArkmeGroupActionTarget, ArkmeGroupAiPolishSnapshot, ArkmeGroupNotificationResult, ArkmeSourceItem } from '../types.js'; import type { ArkmeGroupBotItem } from '../tools/ports/bots.js'; import { type ArkmeBotAvatarIdentity } from './ArkmeBotAvatarActions.js'; export declare const ARKME_GROUP_HEADER_ICON_COLOR: "var(--dsw-alias-label-secondary, #68707c)"; export declare const ARKME_CONVERSATION_HEADER_ACTIONS_STYLE: CSSProperties; export declare const ARKME_CONVERSATION_HEADER_BUTTON_STYLE: CSSProperties; export declare const ARKME_CONVERSATION_SETTINGS_MENU_WIDTH = 248; export declare const ARKME_CONVERSATION_SETTINGS_MENU_SCRIM_STYLE: CSSProperties; export declare const ARKME_CONVERSATION_SETTINGS_POPOVER_STYLE: CSSProperties; export declare const ARKME_CONVERSATION_SETTINGS_MENU_ROW_STYLE: CSSProperties; export declare const ARKME_CONVERSATION_SETTINGS_MENU_STATUS_STYLE: CSSProperties; export declare function ArkmeConversationMoreIcon(): import("react").JSX.Element; export declare function ArkmeConversationHeaderIconButton(props: { label: string; title?: string; children: ReactNode; buttonRef?: RefObject; hasPopup?: boolean | 'dialog'; expanded?: boolean; busy?: boolean; onClick: MouseEventHandler; }): import("react").JSX.Element; export declare const GroupMemberRow: import("react").MemoExoticComponent<({ member, onMemberOpen, onMemberContextMenu, onMemberHover }: { member: ArkmeConversationMemberItem; onMemberOpen: (member: ArkmeConversationMemberItem) => void; onMemberContextMenu: (member: ArkmeConversationMemberItem, rect: DOMRect) => void; onMemberHover?: ((member: ArkmeConversationMemberItem, anchor: HTMLElement, side: "left") => void) | undefined; }) => import("react").JSX.Element>; type GroupBotActions = { onBotOpen?: ((bot: ArkmeBotAvatarIdentity) => void) | undefined; onBotContextMenu?: ((bot: ArkmeBotAvatarIdentity, rect: DOMRect) => void) | undefined; onBotHover?: ((bot: ArkmeBotAvatarIdentity, anchor: HTMLElement, side: 'left') => void) | undefined; }; export declare const GroupBotRow: import("react").MemoExoticComponent<({ bot, onBotOpen, onBotContextMenu, onBotHover }: { bot: ArkmeGroupBotItem; } & GroupBotActions) => import("react").JSX.Element>; export declare function GroupMembersDrawer(props: { source: ArkmeSourceItem; open: boolean; accountScope: string | undefined; onClose: () => void; onAdd: () => void; onMemberOpen: (member: ArkmeConversationMemberItem) => void; onMemberContextMenu: (member: ArkmeConversationMemberItem, anchorRect: DOMRect) => void; onMemberHover?: ((member: ArkmeConversationMemberItem, anchor: HTMLElement, side: 'left') => void) | undefined; onError: (message: string) => void; } & GroupBotActions): import("react").JSX.Element | null; export declare function AddMembersDrawer(props: { source: ArkmeSourceItem; accountScope?: string | undefined; open: boolean; onClose: () => void; onAdded: () => void; onError: (message: string) => void; }): import("react").JSX.Element | null; export declare function InviteCollaboratorsDialog(props: { source: ArkmeSourceItem; open: boolean; onClose: () => void; onAddMembers: () => void; onError: (message: string) => void; }): import("react").JSX.Element | null; export declare function MessageDndSwitch(props: { checked: boolean; busy: boolean; onChange: (checked: boolean) => void; }): import("react").JSX.Element; export declare function ArkmeGroupChatControls(props: { accountScope: string | undefined; membersOpen?: boolean; onMembersOpenChange?: (open: boolean) => void; source: ArkmeSourceItem; overlayHostRef: RefObject; onSourceProjectionUpdated: (source: ArkmeSourceItem) => void; onMembershipChanged: (target: ArkmeGroupActionTarget) => void; onMessageDndUpdated: (target: ArkmeGroupActionTarget, result: ArkmeGroupNotificationResult) => boolean; onMemberOpen: (member: ArkmeConversationMemberItem) => void; onMemberContextMenu: (member: ArkmeConversationMemberItem, anchorRect: DOMRect) => void; onMemberHover?: ((member: ArkmeConversationMemberItem, anchor: HTMLElement, side: 'left') => void) | undefined; aiPolishSettings?: ArkmeGroupAiPolishSnapshot | undefined; onAiPolishSettingsChanged?: (settings: ArkmeGroupAiPolishSnapshot) => void; onStatus?: (message: string) => void; onError: (message: string) => void; onExport?: () => void; exportBusy?: boolean; exportProcessed?: number; } & GroupBotActions): import("react").JSX.Element; export {}; //# sourceMappingURL=ArkmeGroupChatControls.d.ts.map