/** * TypeBox schema and loader for the `api` block in the openclaw plugin config. * * The `api` block is an optional top-level property inside `openclaw.json` * `plugins[*].config`. If the operator omits it entirely — or omits individual * fields — this module fills in the documented defaults so the rest of the * runtime-api code can rely on a fully-typed, always-present value. */ import { type Static } from "@sinclair/typebox"; /** TypeBox schema for the `api` config block. Mirrors openclaw.plugin.json. */ export declare const ApiConfigSchema: import("@sinclair/typebox").TObject<{ /** * Bind interface for the HTTP server inside the openclaw container. * Default `127.0.0.1` — container loopback only (most secure). * Set to `0.0.0.0` to enable Docker port mapping for Postman testing. * A boot-time warning is logged when this is not `127.0.0.1`. */ host: import("@sinclair/typebox").TString; /** * TCP port the HTTP server listens on. * Default `8787`. Must be in [1, 65535]. */ port: import("@sinclair/typebox").TInteger; /** * Maximum number of items allowed in a single `POST /signals` request body. * Default of `100` — operators raise it deliberately when broadcasting to * many wallets at once. */ maxItemsPerSignalsRequest: import("@sinclair/typebox").TInteger; }>; /** Typed `api` config block derived from the TypeBox schema. */ export type ApiConfig = Static; /** * Load and validate the `api` config block from the full plugin config object. * * Merges operator-supplied values over the defaults, then validates the result * against {@link ApiConfigSchema}. Throws if any field is out of range or the * wrong type (e.g. a port value of 99999). * * @param pluginConfig - The entire plugin config object as passed by openclaw to * `register(api)`. May be `undefined`, `null`, or a plain object. The function * reads only the `api` sub-key; all other keys are ignored. * @returns A fully-typed {@link ApiConfig} with all defaults applied. * @throws {Error} If the merged config fails TypeBox validation (e.g. port out of range). */ export declare function loadApiConfig(pluginConfig: unknown): ApiConfig; //# sourceMappingURL=config.d.ts.map