import { type CrowdyStudioAgentController, type CrowdyStudioAgentStateV1 } from '../crowdy-agent/controller.js'; import type { StudioLayoutController } from './layout.js'; export interface CrowdyStudioAgentDomShellOptions { getPlayLeaseContext?: () => { controlledEntityId: string; hostCapabilityRevision: string; } | null; /** * Optional studio layout controller. When present the dock participates in * the shared pane layout and auto-reveals itself for safety-critical * moments (pending exact approvals, an activating Play lease). */ layout?: StudioLayoutController; } /** * Accessible, text-only rendering for the integrated durable agent dock. * * The conversation is the primary surface. Play-control, activity, and * change-tracking sections are collapsible disclosures so the dock stays * minimal, with one deliberate exception: pending exact approvals and the * active Play lease countdown always render prominently. */ export declare class CrowdyStudioAgentDomShell { private readonly controller; private readonly options; readonly root: HTMLElement; private readonly status; private readonly budget; private readonly lease; private readonly messages; private readonly stream; private readonly timeline; private readonly approvals; private readonly checkpoints; private readonly composer; private readonly send; private readonly playDisclosure; private readonly playSummary; private readonly activityDisclosure; private readonly activitySummary; private readonly changesDisclosure; private readonly changesSummary; private readonly modeButtons; private readonly scopeInputs; private readonly unsubscribe; private readonly countdownTimer; private lastState; private lastPendingApprovals; private lastPlayLeaseActive; private disposed; constructor(host: HTMLElement, controller: CrowdyStudioAgentController, options?: CrowdyStudioAgentDomShellOptions); render(state: CrowdyStudioAgentStateV1): void; dispose(): void; /** * Safety-critical auto-reveal: a newly pending exact approval or a Play * lease activation opens the dock and the Play disclosure so the human is * always shown what needs their decision or is acting on their behalf. */ private autoReveal; private renderBudget; private renderLease; private renderMessages; private renderTimeline; private renderApprovals; private renderCheckpoints; private run; } //# sourceMappingURL=agent-dom-shell.d.ts.map