/**
 * Writes the TCP port the HTTP Actions server actually bound to, under the repo
 * root at `.dev-serve/local_http_port_<dev|prod>` (gitignored). MCP launcher scripts
 * read these so parallel dev + prod APIs do not clobber each other.
 *
 * Legacy `.dev-serve/local_http_port` is still written when the API is **dev**
 * (non-production) for older Cursor configs that omit `NEOTOMA_MCP_LOCAL_HTTP_PORT_PROFILE`.
 */
/** Relative to Neotoma `projectRoot`; directory is `.gitignore`d as `.dev-serve/`. */
export declare const LOCAL_HTTP_PORT_FILE_SEGMENTS: readonly [".dev-serve", "local_http_port"];
/** Disk profile for parallel dev/prod local HTTP servers. */
export type LocalHttpPortDiskProfile = "dev" | "prod";
export declare function neotomaEnvironmentToDiskProfile(environment: string): LocalHttpPortDiskProfile;
export declare function localHttpPortFilePath(projectRoot: string): string;
export declare function localHttpPortFilePathForProfile(projectRoot: string, profile: LocalHttpPortDiskProfile): string;
/**
 * Writes profile-specific port files after HTTP bind. Dev also mirrors the legacy
 * `local_http_port` path so existing MCP configs keep working.
 */
export declare function writeLocalHttpPortFile(projectRoot: string, port: number, environment?: string): void;
/**
 * Resolves which port file(s) to read for MCP / CLI when `NEOTOMA_MCP_USE_LOCAL_PORT_FILE` is on.
 *
 * Precedence for choosing **profile**:
 * 1. `NEOTOMA_MCP_LOCAL_HTTP_PORT_PROFILE` = `dev` | `prod`
 * 2. Else `NEOTOMA_ENV` → production → prod, otherwise dev
 *
 * Read order:
 * - **prod**: `local_http_port_prod` only
 * - **dev**: `local_http_port_dev`, then legacy `local_http_port`
 */
export declare function readLocalHttpPortFromFile(projectRoot: string): Promise<number | null>;
//# sourceMappingURL=local_http_port_file.d.ts.map