import type { GatewayEventDescriptor, GatewayEventListOptions, GatewayMethodDescriptor, GatewayMethodHandler, GatewayMethodInvocation, GatewayMethodListOptions } from './method-catalog-shared.js'; export type { GatewayEventDescriptor, GatewayEventListOptions, GatewayEventTransport, GatewayHttpBinding, GatewayMethodAccess, GatewayMethodDescriptor, GatewayMethodHandler, GatewayMethodInvocation, GatewayMethodInvocationContext, GatewayMethodListOptions, GatewayMethodSource, GatewayMethodTransport, } from './method-catalog-shared.js'; export declare class GatewayMethodCatalog { private readonly methods; private readonly events; constructor(options?: { readonly includeBuiltins?: boolean; }); register(descriptor: GatewayMethodDescriptor, handler?: GatewayMethodHandler, options?: { readonly replace?: boolean; }): () => void; registerEvent(descriptor: GatewayEventDescriptor, options?: { readonly replace?: boolean; }): () => void; unregister(id: string): boolean; unregisterEvent(id: string): boolean; clearPluginMethods(pluginId: string): void; list(options?: GatewayMethodListOptions): GatewayMethodDescriptor[]; listEvents(options?: GatewayEventListOptions): GatewayEventDescriptor[]; get(id: string): GatewayMethodDescriptor | null; getEvent(id: string): GatewayEventDescriptor | null; hasHandler(id: string): boolean; findByHttpBinding(method: string, pathname: string): GatewayMethodDescriptor | null; getAllScopes(options?: { readonly includeWrite?: boolean; }): string[]; /** * Run a method's registered internal handler directly. Note this does NOT consult * `descriptor.invokable` for a method that HAS a handler, see the field's doc * comment in method-catalog-shared.ts: a runtime that registered a real handler is * authoritative over whether the method works, the descriptor's `invokable` flag * is not. `invokeGatewayMethodCall` (../daemon/control-plane.ts) is what enforces * `invokable` for the generic HTTP/WS dispatch surface, via * `validateGatewayInvocation`, BEFORE ever reaching here. */ invoke(id: string, invocation: GatewayMethodInvocation): Promise; } //# sourceMappingURL=method-catalog.d.ts.map