/** * @fileoverview Server-specific configuration parsed from environment * variables. The schema is the single source of truth for ntfy connection * settings; the framework's core config covers transport / auth / storage. * * Two configuration shapes are supported: * - `NTFY_SERVERS` — JSON array of `{ baseUrl, authToken? | authUsername?+authPassword? }` * entries. First entry is the default base used when a tool call omits * `base_url`. Auth credentials are scoped to the specific base they were * declared with; per-call `base_url` overrides that match a registered * base forward that base's auth, anything else goes out unauthenticated. * - Single-server shorthand (`NTFY_BASE_URL`, `NTFY_AUTH_TOKEN`, * `NTFY_AUTH_USERNAME`, `NTFY_AUTH_PASSWORD`) — convenience for the * common one-server case, expressed internally as a single-entry registry. * @module config/server-config */ import { z } from '@cyanheads/mcp-ts-core'; declare const NtfyServerEntrySchema: z.ZodObject<{ baseUrl: z.ZodPipe>; authToken: z.ZodOptional; authUsername: z.ZodOptional; authPassword: z.ZodOptional; }, z.core.$strip>; export type NtfyServerEntry = z.infer; declare const ServerConfigSchema: z.ZodObject<{ servers: z.ZodArray>; authToken: z.ZodOptional; authUsername: z.ZodOptional; authPassword: z.ZodOptional; }, z.core.$strip>>; defaultTopic: z.ZodOptional; requestTimeoutMs: z.ZodDefault>; maxRetries: z.ZodDefault>; blockPrivateHosts: z.ZodDefault>; }, z.core.$strip>; export type ServerConfig = z.infer; export declare function getServerConfig(): ServerConfig; /** Test/setup hook — drop the cached parse so the next call re-reads `process.env`. */ export declare function resetServerConfig(): void; export {}; //# sourceMappingURL=server-config.d.ts.map