import type { Server } from "node:http"; import type { ProfileConfig } from "./profiles"; export interface ProxyConfig { port: number; host: string; debug: boolean; idleTimeoutSeconds: number; silent: boolean; /** Named auth profiles for multi-account support */ profiles?: ProfileConfig[]; /** Default profile ID when no header is sent */ defaultProfile?: string; /** Package version, exposed via /health endpoint */ version?: string; /** Plugin auto-discovery directory. Defaults to ~/.config/meridian/plugins/. */ pluginDir?: string; /** Plugin config file path. Defaults to ~/.config/meridian/plugins.json. */ pluginConfigPath?: string; } export interface ProxyInstance { /** The underlying http.Server */ server: Server; /** The resolved proxy configuration */ config: ProxyConfig; /** Gracefully shut down the proxy server and clean up resources */ close(): Promise; } /** Return type of createProxyServer — avoids leaking Hono internals to consumers */ export interface ProxyServer { /** The HTTP app — pass `app.fetch` to your server of choice */ app: { fetch: (request: Request, ...rest: any[]) => Response | Promise; }; /** The resolved proxy configuration */ config: ProxyConfig; /** Load plugins from disk and wire them into the request pipeline */ initPlugins?(): Promise; } export declare const DEFAULT_PROXY_CONFIG: ProxyConfig; //# sourceMappingURL=types.d.ts.map