import type { IRushPlugin, RushSession, RushConfiguration } from '@rushstack/rush-sdk'; import type { IBaseRoutingRuleJson } from './types'; export interface IGlobalRoutingFolderRuleJson extends IBaseRoutingRuleJson { workspaceRelativeFile: undefined; workspaceRelativeFolder: string; } export interface IGlobalRoutingFileRuleJson extends IBaseRoutingRuleJson { workspaceRelativeFile: string; workspaceRelativeFolder: undefined; } export type IGlobalRoutingRuleJson = IGlobalRoutingFileRuleJson | IGlobalRoutingFolderRuleJson; export interface IRushServePluginOptions { /** * The names of phased commands to which the plugin should be applied. */ phasedCommands: ReadonlyArray; /** * The URL path at which to host the web socket connection for monitoring build status. If not specified, the web socket interface will not be enabled. */ buildStatusWebSocketPath?: string; /** * The name of a parameter that Rush is configured to use to pass a port number to underlying operations. * If specified, the plugin will ensure the value is synchronized with the port used for its server. */ portParameterLongName?: string | undefined; /** * The URL path at which to host Rush log files. If not specified, log files will not be served. */ logServePath?: string | undefined; /** * Routing rules for files that are associated with the entire workspace, rather than a single project (e.g. files output by Rush plugins). */ globalRouting?: IGlobalRoutingRuleJson[]; } /** * @public */ export declare class RushServePlugin implements IRushPlugin { #private; readonly pluginName: 'RushServePlugin'; constructor(options: IRushServePluginOptions); apply(rushSession: RushSession, rushConfiguration: RushConfiguration): void; } export default RushServePlugin; //# sourceMappingURL=RushServePlugin.d.ts.map