import { WordPressClient } from "../client/api.js"; import { type SiteType as SiteConfig, type MultiSiteConfigType as MultiSiteConfig, type McpConfigType } from "./ConfigurationSchema.js"; export type { SiteConfig, MultiSiteConfig, McpConfigType }; /** * Configuration loader for MCP WordPress Server * Handles both single-site (environment variables) and multi-site (JSON config) modes */ export declare class ServerConfiguration { private static instance; private readonly logger; private rootDir; private envPath; constructor(); /** * Get singleton instance of ServerConfiguration */ static getInstance(): ServerConfiguration; /** * Load WordPress client configurations * Returns a Map of site ID to WordPressClient instances */ loadClientConfigurations(mcpConfig?: McpConfigType): Promise<{ clients: Map; configs: SiteConfig[]; }>; /** * Returns false only when the multi-site config file is absent (ENOENT). * Any other access error (permission denied, etc.) is fatal: it is logged * and rethrown so startup fails loudly instead of silently degrading to * single-site mode with the wrong site's credentials. */ private multiSiteConfigFileExists; /** * Load multi-site configuration from JSON file */ private loadMultiSiteConfig; /** * Check if we're in CI environment */ private isCIEnvironment; /** * Create mock configuration for CI environments */ private createMockConfiguration; /** * Load single-site configuration from environment variables */ private loadSingleSiteFromEnv; /** * Get root directory path */ getRootDir(): string; } //# sourceMappingURL=ServerConfiguration.d.ts.map