import { CiProvider } from "./ci-providers/types"; import { Api, PrInfo } from "./api"; import { DeepReadonly } from "ts-essentials"; import { Path } from "./utils"; import { CodeChecksSettings, CodeChecksClientArgs } from "./types"; /** * Better part of execution context stays the same for all codechecks files being executed so we just get it once. */ export declare function getConstExecutionContext(api: Api, ciProvider: CiProvider, settings: CodeChecksSettings, gitRepoRootPath: string, args: CodeChecksClientArgs): Promise; export declare function getExecutionContext(sharedExecutionCtx: SharedExecutionContext, codeChecksFilePath: Path): ExecutionContext; export declare type RefInfo = { sha: string; }; export declare type ExecutionContext = DeepReadonly<{ codeChecksFileAbsPath: string; workspaceRoot: string; } & SharedExecutionContext>; /** * This stays the same across different codechecks files */ export interface SharedExecutionContext { projectSlug: string; artifactsProxy: { url: string; supportsPages: boolean; }; isPrivate: boolean; currentSha: string; isPr: boolean; pr?: PrInfo; isLocalMode?: { projectSlug: string; isOffline: boolean; isFailFast: boolean; }; isFork: boolean; isSpeculativePr: boolean; }