import type { AppPortFlowResult } from './app-port-flow.js'; import type { SandboxRoute, VercelSandboxHandle } from './client.js'; import type { ProviderBranchRequest } from '../types.js'; import { type VercelSetupStatus } from './setup.js'; export interface RenderedVercelRoute { route: SandboxRoute; url: string; line: string; } export declare function renderedRoutesForSandbox(sandbox: VercelSandboxHandle, repoRoot: string, token: string, extraLabels?: Record, appPorts?: AppPortFlowResult): Promise; /** * Prefer the handle's routes when they already match `applied`; otherwise * synthesize missing entries from `sandbox.domain` so a successful update is * visible even when the SDK handle has not refreshed yet. */ export declare function routesForRender(sandbox: VercelSandboxHandle, appPorts?: AppPortFlowResult): SandboxRoute[]; export declare function resolveRouteLabels(repoRoot: string): Promise>; export declare function renderVercelBlock(request: ProviderBranchRequest, sandbox: VercelSandboxHandle, setupStatus: VercelSetupStatus | null, token: string, headline: string, appPorts?: AppPortFlowResult): Promise; export declare function renderVercelReadyBlock(request: ProviderBranchRequest, sandbox: VercelSandboxHandle, setupStatus: VercelSetupStatus | null, token: string, appPorts?: AppPortFlowResult): Promise; export declare function renderVercelAttachNotice(request: ProviderBranchRequest, sandbox: VercelSandboxHandle, setupStatus: VercelSetupStatus | null, token: string, appPorts?: AppPortFlowResult): Promise; export declare function renderVercelRoutes(routes: readonly SandboxRoute[], labels: Record, token: string): RenderedVercelRoute[]; export declare function novncPairingUrl(routeUrl: string, token: string): string; export declare function assertSafeRouteUrl(url: string): string;