import { CommandReplyPayload, ToolbarPluginCommand } from './plugins/types.js'; interface CommandReplyStreamEvent extends CommandReplyPayload { threadId: string; replyCommentId: string; final?: boolean; } interface ServerEvents { 'branch-change': string | undefined; 'commands-ready': ToolbarPluginCommand[]; 'command-reply-stream': CommandReplyStreamEvent; } declare const vercelToolbarWindowKey = "__vercel_toolbar"; interface LocalhostEventSource { version: string; subscribe: (type: K, callback: (payload: ServerEvents[K]) => void) => () => void; fetchLocal: , U = Record>(path: string, body?: U) => Promise<{ result: T; } | { error: string; }>; } interface BaseVercelToolbar { unmount: () => void; isAuthenticated: false; } interface AuthenticatedVercelToolbar extends Omit { isAuthenticated: true; setLocalhostEventSource?: (eventSource: LocalhostEventSource) => void; } type VercelToolbar = BaseVercelToolbar | AuthenticatedVercelToolbar; declare global { interface Window { [vercelToolbarWindowKey]?: VercelToolbar; } } declare function getVercelToolbarObject(): VercelToolbar | undefined; export { AuthenticatedVercelToolbar, BaseVercelToolbar, CommandReplyStreamEvent, LocalhostEventSource, ServerEvents, ToolbarPluginCommand, VercelToolbar, getVercelToolbarObject, vercelToolbarWindowKey };