import * as http from 'http'; import { IssueAttachmentRepository } from '../../../domain/usecases/adapter-interfaces/IssueAttachmentRepository'; import { IssueRepository } from '../../../domain/usecases/adapter-interfaces/IssueRepository'; import { Project } from '../../../domain/entities/Project'; import { IssueTitleStateCache, PullRequestStatusCache } from './consoleReadApi'; import { ConsoleIssueRepositoryResolver, ConsolePjcodeValidator, ConsoleProjectRepositoryResolver, ConsoleProjectResolver } from './consoleOperationApi'; import { ImageFetcher } from './consoleImageProxy'; import { ConsoleGithubTokenResolver } from './consoleGithubTokenResolver'; export declare const DEFAULT_WEB_PORT = 9980; export declare const CONSOLE_TOKEN_HEADER = "x-pv-token"; export declare const CONSOLE_TOKEN_COOKIE = "pv_token"; export declare const hasDotSegment: (requestPath: string) => boolean; export declare const requiresToken: (requestPath: string) => boolean; export declare const isConsoleAppRoute: (requestPath: string) => boolean; export declare const isTokenValid: (expectedToken: string, providedToken: string | null) => boolean; export declare const extractCookieToken: (cookieHeader: string | undefined) => string | null; export declare const extractProvidedToken: (queryToken: string | string[] | null, headerToken: string | string[] | undefined, cookieToken: string | null) => string | null; export declare const CONSOLE_TOKEN_COOKIE_MAX_AGE_SECONDS: number; export declare const buildTokenCookie: (token: string) => string; export declare const buildKeylessLocation: (requestUrl: URL) => string; export type WebServerOptions = { accessToken: string; uiDistDir: string; consoleDataOutputDir: string | null; inTmuxDataDir: string | null; dashboardDir: string | null; dashboardDataDir: string | null; dashboardProjectNames: string[]; dashboardProjectConfigDirectory?: string | null; dashboardProjectUrls?: Record | null; fleetTaskCreateUrl?: string | null; resolveGithubToken?: ConsoleGithubTokenResolver | null; imageFetcher?: ImageFetcher | null; issueRepository?: IssueRepository | null; resolveIssueRepository?: ConsoleIssueRepositoryResolver | null; resolveProject?: ConsoleProjectResolver | null; isPjcodeConfigured?: ConsolePjcodeValidator | null; resolveProjectRepository?: ConsoleProjectRepositoryResolver | null; invalidateProject?: ((pjcode: string) => void) | null; issueAttachmentRepository?: IssueAttachmentRepository | null; updateProjectCacheEntry?: ((pjcode: string, updatedProject: Project) => void) | null; issueTitleStateCache?: IssueTitleStateCache | null; pullRequestStatusCache?: PullRequestStatusCache | null; consoleErrorReporter?: ((error: unknown, requestPath: string, requestBody?: Record) => Promise) | null; }; export declare const DASHBOARD_REQUEST_PATH = "/tdpm.txt"; export declare const IMAGE_PROXY_REQUEST_PATH = "/api/img"; export declare const resolveDashboardFilePath: (dashboardDir: string, requestPath: string) => string | null; export declare const isOwnerCallFileRequestPath: (requestPath: string) => boolean; export declare const resolveFlatInTmuxFilePath: (inTmuxDataDir: string, requestPath: string) => string | null; export declare const resolveDashboardContent: (options: WebServerOptions, requestPath: string) => Buffer | null; export declare const handleWebRequest: (options: WebServerOptions, request: http.IncomingMessage, response: http.ServerResponse) => Promise; export declare const createWebServer: (options: WebServerOptions) => http.Server; export type StartWebServerOptions = WebServerOptions & { port: number; }; export declare const startWebServer: (options: StartWebServerOptions) => Promise; export declare const stopWebServer: (server: http.Server) => Promise; //# sourceMappingURL=webServer.d.ts.map