export interface CursorCloudIndexPluginConfig { enabled: boolean; bootstrapOnLoad: boolean; allowPluginGeneratedKeys: boolean; searchRpcPath: string; rpcUrl: string; searchTimeoutMs: number; topK: number; bootstrapTimeoutMs: number; uploadMaxFiles: number; uploadMaxFileBytes: number; uploadMaxBatchBytes: number; cursorClientVersion: string; } export interface CursorIndexWatcherPluginConfig { enabled: boolean; } export interface CursorCodeModePluginConfig { enabled: boolean; } export interface CursorSkillsPluginConfig { /** When false, strip OpenCode lowercase `skill` from declaration and execution. */ enabled: boolean; } export interface CursorRequestContextPluginConfig { /** Send the tool catalog and RequestContext on the initial Run/action. */ inline: boolean; } export type CursorNativePolicy = "legacy" | "dedupe-canary" | "transparent"; export interface CursorCavemanPluginConfig { /** Prose compression level for tool descriptions: "full" | "lite" | "off". */ level: string; /** Compression level for the OpenCode-supplied system prompt; inherits level when empty. */ system: string; } export interface CursorGenerateImageBridgeConfig { enabled: boolean; modelId: string; timeoutMs: number; maxDecodedBytes: number; } export interface CursorNativeWriteBridgeConfig { enabled: boolean; } export interface CursorConversationSearchBridgeConfig { enabled: boolean; } export interface CursorBackgroundShellBridgeConfig { enabled: boolean; maxOutputBytes: number; maxRuntimeMs: number; jobTtlMs: number; maxJobsPerSession: number; awaitMaxMs: number; } export interface CursorToolBridgesPluginConfig { generateImage: CursorGenerateImageBridgeConfig; nativeWrite: CursorNativeWriteBridgeConfig; conversationSearch: CursorConversationSearchBridgeConfig; backgroundShell: CursorBackgroundShellBridgeConfig; } export interface CursorPluginConfig { cloudIndex: CursorCloudIndexPluginConfig; indexWatcher: CursorIndexWatcherPluginConfig; codeMode: CursorCodeModePluginConfig; skills: CursorSkillsPluginConfig; requestContext: CursorRequestContextPluginConfig; nativePolicy: CursorNativePolicy; caveman: CursorCavemanPluginConfig; toolBridges: CursorToolBridgesPluginConfig; } export interface CursorPluginConfigOptions { directory?: string; env?: NodeJS.ProcessEnv; globalConfigPath?: string; projectConfigPath?: string; } export declare const DEFAULT_CURSOR_PLUGIN_CONFIG: CursorPluginConfig; export declare function loadCursorPluginConfig(options?: CursorPluginConfigOptions): CursorPluginConfig;