import { ReactNode } from 'react';
import { WorkbenchFrame, WorkbenchHostNodeBodyContext, WorkbenchHostDockEntry, WorkbenchContribution, WorkbenchHostLaunchRequest } from '@tutti-os/workbench-surface';
import { AgentGuiWorkbenchState, AgentGuiWorkbenchProvider } from './types.js';

declare const agentGuiWorkbenchDefaultNodeFrame: WorkbenchFrame;
declare const agentGuiWorkbenchDefaultUsableHeightRatio = 0.7;
declare const agentGuiWorkbenchCompactVisibleAreaRatio = 0.9;
declare const AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT = "nextop:agent-gui-workbench-conversation-rail-toggle";
interface AgentGuiWorkbenchConversationRailToggleDetail {
    conversationRailCollapsed: boolean;
    instanceId: string;
}
interface AgentGuiWorkbenchContributionCopy {
    collapseConversationRail: string;
    expandConversationRail: string;
    fallbackAgentLabel: string;
    nodeTitle: string;
}
type AgentGuiWorkbenchContributionCopyOverrides = Partial<AgentGuiWorkbenchContributionCopy>;
declare const agentGuiWorkbenchDefaultCopy: AgentGuiWorkbenchContributionCopy;
interface AgentGuiWorkbenchRenderBodyHelpers {
    nodeTypeId: string;
    onStateChange(state: AgentGuiWorkbenchState): void;
    provider: AgentGuiWorkbenchProvider;
}
interface CreateAgentGuiWorkbenchContributionInput {
    copy?: AgentGuiWorkbenchContributionCopyOverrides;
    dockIconUrls?: Partial<Record<AgentGuiWorkbenchProvider, string>>;
    dockSectionId?: string;
    frame?: WorkbenchFrame;
    id?: string;
    renderBody(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
    renderPreview?(context: WorkbenchHostNodeBodyContext<AgentGuiWorkbenchState | null, unknown>, helpers: AgentGuiWorkbenchRenderBodyHelpers): ReactNode;
    resolveDockEntryVisibility?: (provider: AgentGuiWorkbenchProvider) => WorkbenchHostDockEntry["visibility"];
    workspaceId: string;
}
declare function createAgentGuiWorkbenchContribution(input: CreateAgentGuiWorkbenchContributionInput): WorkbenchContribution;
declare function resolveAgentGuiWorkbenchDefaultLaunchFrame(input: {
    frame: WorkbenchFrame;
    request: Pick<WorkbenchHostLaunchRequest, "layoutConstraints" | "surfaceSize">;
}): WorkbenchFrame;
declare function resolveAgentGuiWorkbenchContributionCopy(copy?: AgentGuiWorkbenchContributionCopyOverrides): AgentGuiWorkbenchContributionCopy;

export { AGENT_GUI_WORKBENCH_CONVERSATION_RAIL_TOGGLE_EVENT, type AgentGuiWorkbenchContributionCopy, type AgentGuiWorkbenchContributionCopyOverrides, type AgentGuiWorkbenchConversationRailToggleDetail, type AgentGuiWorkbenchRenderBodyHelpers, type CreateAgentGuiWorkbenchContributionInput, agentGuiWorkbenchCompactVisibleAreaRatio, agentGuiWorkbenchDefaultCopy, agentGuiWorkbenchDefaultNodeFrame, agentGuiWorkbenchDefaultUsableHeightRatio, createAgentGuiWorkbenchContribution, resolveAgentGuiWorkbenchContributionCopy, resolveAgentGuiWorkbenchDefaultLaunchFrame };
