import type { ApolloMcpServerApps } from "../core/types"; export type UnknownObject = Record; export type OpenAiGlobals = { theme: Theme; userAgent: UserAgent; locale: string; maxHeight: number; displayMode: DisplayMode; safeArea: SafeArea; toolInput: ToolInput; toolOutput: ToolOutput | null; toolResponseMetadata: ToolResponseMetadata | null; widgetState: WidgetState | null; }; export type API = { /** Calls a tool on your MCP. Returns the full response. */ callTool: (name: string, args: Record) => Promise; /** Triggers a followup turn in the ChatGPT conversation */ sendFollowUpMessage: (args: { prompt: string; }) => Promise; /** Opens an external link, redirects web page or mobile app */ openExternal(payload: { href: string; }): void; /** For transitioning an app from inline to fullscreen or pip */ requestDisplayMode: (args: { mode: DisplayMode; }) => Promise<{ /** * The granted display mode. The host may reject the request. * For mobile, PiP is always coerced to fullscreen. */ mode: DisplayMode; }>; setWidgetState: (state: WidgetState) => Promise; }; export declare const SET_GLOBALS_EVENT_TYPE = "openai:set_globals"; export declare class SetGlobalsEvent extends CustomEvent<{ globals: Partial; }> { readonly type = "openai:set_globals"; } export type CallTool = (name: string, args: Record) => Promise; export type CallToolResponse = { result: string; }; export type DisplayMode = "pip" | "inline" | "fullscreen"; export type Theme = "light" | "dark"; export type SafeAreaInsets = { top: number; bottom: number; left: number; right: number; }; export type SafeArea = { insets: SafeAreaInsets; }; export type DeviceType = "mobile" | "tablet" | "desktop" | "unknown"; export type UserAgent = { device: { type: DeviceType; }; capabilities: { hover: boolean; touch: boolean; }; }; //# sourceMappingURL=types.d.ts.map