import type { ExtensionAPI, ExtensionContext } from "../pi.js"; import type { ServerFilter } from "../client/config-ladder.js"; import { NativeCombinerConnection } from "./combiner-connection.js"; export { NativeCombinerConnection } from "./combiner-connection.js"; export { activateNativeTools, type NativeToolSurfaceOptions, type NativeToolSurfaceState } from "./tool-surface.js"; export { tokenedUrl } from "./combiner-connection.js"; export { activateNativeResources, filterInteractiveResources, type NativeResourceOptions } from "./resources.js"; export type NativeActivationOptions = { connection: NativeCombinerConnection; /** Per-project directTools spec, resolved PER PASS (not a load-time snapshot). */ directSpec?: () => string[] | "search" | undefined; /** Per-project server filter, resolved PER PASS (same reason). */ serverFilter?: () => ServerFilter | undefined; /** Register the interactive read_ tools (index.ts's exposeResources * setting); default true. */ exposeResources?: boolean; /** Auto-open widget URLs (index.ts's uiAutoOpen setting); default true. */ uiAutoOpen?: boolean; /** Warn when the direct-exposure set grows large; settings kill-switch * warnLargeDirectExposure disables it (default true, i.e. warn). */ warnLargeDirectExposure?: boolean; log: (level: "info" | "warn" | "error", message: string) => void; }; /** Register the declared tool surface + interactive-resource read_* tools + the * list_changed re-registration handler. Called once at session_start; the * list_changed hook re-syncs both surfaces on the same names. One shared * NativeToolSurfaceState diff across all passes — unchanged declarations are * skipped, removed ones re-registered hidden (see activateNativeTools). */ export declare function activateNativeMode(pi: ExtensionAPI, opts: NativeActivationOptions): { run(): void; dispose(): void; }; export type { ExtensionContext }; //# sourceMappingURL=index.d.ts.map