import { Identity } from "@obi/obi-client";
export type CommandType = "update" | "say" | "startSession" | "stopSession";
export type Command = {
    type: CommandType;
    args: any[];
};
export type Config = {
    apiKey?: string;
    /** Override Obi API base URL (e.g. local obi-server). Snippet `obiWidgetConfig` is read before the client is constructed. */
    apiBaseUrl?: string;
    isActive?: boolean;
    primaryColour?: string;
    user?: Identity;
    showMenu?: boolean;
    showSidePanel?: boolean;
    widgetDisplay?: string;
    completedWidgetDisplay?: string;
    widgetPosition?: string;
    /** Automatically open the start-session popup for this plan after the widget mounts. */
    autoOpenPlanUuid?: string;
    /** When true, never opens a Document PiP window; PiP stays in the shadow host. Use for testing or when DPiP is undesirable. */
    preferHostPip?: boolean;
    /** When true, skips the course-selection/course-outline split modal and goes directly to PiP when a session starts. */
    skipCourseDialog?: boolean;
    /** Base WebSocket URL for the tutor server (e.g. "wss://tutor.example.com"). When set, the side panel connects via convo WebSocket instead of obi-server SSE/LiveKit. */
    tutorBaseUrl?: string;
    /** Tutor product alias used in the WebSocket URL (/ws/chat/{alias}). Defaults to the obi-server app token if not set. */
    tutorProductAlias?: string;
};
