import type { Server } from 'node:http'; import type { PluginInput } from '@opencode-ai/plugin'; import type { InterviewConfig, PluginConfig } from '../config'; /** * Pure interview mode computation shared by the v1 manager and the v2 * interview bridge: dashboard enablement (`dashboard === true` or an * explicit port), the resolved output folder, and the dashboard port * (explicit port when set, else the default). */ export declare function computeInterviewMode(config: InterviewConfig | undefined): { dashboardEnabled: boolean; outputFolder: string; dashboardPort: number; }; export declare function createInterviewManager(ctx: PluginInput, config: PluginConfig, options?: { /** Already-listening server for the dashboard role to adopt. */ server?: Server; }): { registerCommand: (config: Record) => void; handleCommandExecuteBefore: (input: { command: string; sessionID: string; arguments: string; }, output: { parts: Array<{ type: string; text?: string; }>; }) => Promise; handleEvent: (input: { event: { type: string; properties?: Record; }; }) => Promise; dispose: () => Promise | void; };