import type { ServiceContract } from '../contracts.js'; /** * Shared entry type for reverse-proxy emitters (nginx, caddy, etc.). * Each entry describes one routed hostname → upstream container mapping. */ export interface ProxyEntry { subdomain: string; serviceName: string; port: number; hostPort: number; } /** * Extract host and container ports from a Docker Compose ports array. * Handles formats: * "9000:9000" → host 9000, container 9000 * "9000:9000/tcp" → host 9000, container 9000 * "127.0.0.1:9000:9000" → host 9000, container 9000 * "9000" → host 9000, container 9000 (single-port form) * Returns null if no parseable port is found. */ export declare function extractPort(ports: unknown[]): { host: number; container: number; } | null; /** * Collect proxy entries from contracts that have a docker-compose target * with a `subdomain` field. The same input is used by both nginx and * caddy emitters — they only differ in output format. */ export declare function collectProxyEntries(contracts: Map, profileSuffix: string): ProxyEntry[]; //# sourceMappingURL=proxy-entries.d.ts.map