import * as react_jsx_runtime from 'react/jsx-runtime'; import { i as AiConvListItemData, k as AiConvMessage, d as AiConvContact, f as AiConvEmailPayload } from '../../thread-C6KOGQPu.mjs'; /** * OpportunityEmailNotesTab — WealthX DS (Level 5) * * Content for the "Email & Notes" tab of `OpportunityDetailsDrawer` * (financial-drawers.tsx). Scopes the existing Conversations building * blocks to a single opportunity's applicant(s) so staff can read and * reply to a client's email without leaving the Pipeline board. * * Gmail-style drill-in layout (chosen for the drawer's width constraints): * conversations render as full-width rows (name · subject · snippet · * timestamp); clicking a row swaps the panel to the full-width thread with * a back control, `emailOnly` composer (no Chat/Email toggle, no AI * hand-off), and email reply fields. * * Covers Email only — "Notes" is deferred to a follow-up story per the * BUILD-2313 refinement (see docs/feature-prep/kanban-client-emails.md). * * Pass as the `emailAndNotes` slot of `OpportunityDetailsDrawer`. */ interface OpportunityEmailNotesTabProps { /** Email conversations tied to this opportunity's applicant(s) (main + co, when joint). */ conversations: AiConvListItemData[]; /** Messages for every conversation above, keyed by conversation id. */ messagesByConversationId: Record; /** When set, opens directly on that thread; otherwise opens on the row list. */ defaultConversationId?: string; /** * This opportunity's applicant(s) (main + co, when joint) — independent of * `conversations` so a broker can start a first email even when none * exist yet. Powers the "New Email" affordance; omit to hide it. */ applicants?: AiConvContact[]; /** Fired when the advisor sends a reply from an existing thread. */ onSendEmail?: (conversationId: string, payload: AiConvEmailPayload) => void; /** Fired when the advisor sends a brand-new email (no prior conversation). */ onComposeEmail?: (contact: AiConvContact, payload: AiConvEmailPayload) => void; className?: string; } declare function OpportunityEmailNotesTab({ conversations, messagesByConversationId, defaultConversationId, applicants, onSendEmail, onComposeEmail, className, }: OpportunityEmailNotesTabProps): react_jsx_runtime.JSX.Element; export { OpportunityEmailNotesTab, type OpportunityEmailNotesTabProps };