/** * Shared base for API resource namespaces (opportunities today; organizations, * applications, awards as they land). */ import { z } from "zod"; import type { Client } from "../client"; import type { PluginRoutes } from "../../extensions/types"; export declare abstract class Resource { protected readonly client: Client; protected readonly boundSchema: z.ZodType; protected readonly routes?: PluginRoutes | undefined; constructor(client: Client, boundSchema: z.ZodType, routes?: PluginRoutes | undefined); /** * Shared write primitive: the body is validated before the request (throws), * the single response is parsed fail-hard. Write/action verbs on subclasses * (e.g. `replace()`, `submit()`) are one-liners over this. */ protected mutate(method: "post" | "put" | "patch", path: string, body: unknown, opts: { requestSchema?: z.ZodType; responseSchema: z.ZodType; }): Promise; } //# sourceMappingURL=base.d.ts.map