import type { Http2SecureServer } from 'node:http2'; import { type WebSocket } from 'ws'; import { type RushConfiguration } from '@rushstack/rush-sdk'; import { type ITerminalChunk, TerminalWritable } from '@rushstack/terminal'; import type { IPhasedCommandHandlerOptions } from './types'; export type WebSocketServerUpgrader = (server: Http2SecureServer) => void; /** * Returns a string that identifies the repository, based on the Rush configuration and environment. * @param rushConfiguration - The Rush configuration object. * @returns A string identifier for the repository. */ export declare function getRepositoryIdentifier(rushConfiguration: RushConfiguration): string; /** * @param logServePath - The base URL path where logs are being served. * @param packageName - The npm package name of the project. * @returns The base URL path for serving logs of the specified project. */ export declare function getLogServePathForProject(logServePath: string, packageName: string): string; export declare class WebSocketTerminalWritable extends TerminalWritable { #private; constructor(webSockets: ReadonlySet); protected onWriteChunk(chunk: ITerminalChunk): void; } /** * If the `buildStatusWebSocketPath` option is configured, this function returns a `WebSocketServerUpgrader` callback * that can be used to add a WebSocket server to the HTTPS server. The WebSocket server sends messages * about operation status changes to connected clients. * */ export declare function tryEnableBuildStatusWebSocketServer(options: IPhasedCommandHandlerOptions): WebSocketServerUpgrader | undefined; //# sourceMappingURL=tryEnableBuildStatusWebSocketServer.d.ts.map