import type { ExtensionAPI } from "../pi.js"; import type { NativeCombinerConnection, ResourceSummary } from "./combiner-connection.js"; import type { ServerFilter } from "../client/config-ladder.js"; export type NativeResourceOptions = { connection: NativeCombinerConnection; /** Per-project server filter, same semantics as legacy filterResources; a getter * resolves per call (worktrees/project switches re-resolve session config). */ serverFilter?: ServerFilter | (() => ServerFilter | undefined); /** The directTools spec (same vocabulary as the tool surface): a read_* tool whose * name matches the allowlist is declared "direct", otherwise codemode — consistent * with how regular tools are exposed (a getter resolves per call). */ directSpec?: string[] | "search" | (() => string[] | "search" | undefined); /** Auto-open the widget URL on read (index.ts's uiAutoOpen setting). */ uiAutoOpen?: boolean; log: (level: "info" | "warn" | "error", message: string) => void; }; /** Project server filter for resources — mirrors legacy filterResources * attribution semantics (uri host first, `_` name-prefix fallback). */ export declare function filterInteractiveResources(resources: ResourceSummary[], filter: ServerFilter | undefined): ResourceSummary[]; /** Register read_* tools for the interactive resources (idempotent, like legacy). * Returns the tool names registered this pass. */ export declare function activateNativeResources(pi: ExtensionAPI, opts: NativeResourceOptions, registered: Set): Promise; //# sourceMappingURL=resources.d.ts.map