import * as path from 'node:path'; import { Bundle } from './construct.js'; import { Project, Resources } from './project.js'; export type ResourceDataBundle = { construct: T; bundle: Bundle; }; export type ProjectDataBundle = { [x in keyof Resources]: Record>; }; export interface ProjectSynthesizeOptions { /** * Absolute path of the git repository root. When set, every resource * reports the file that declares it as a `sourceFile` relative to this * root, so Checkly can open pull requests against the right file. */ repoRoot?: string; } /** * The construct's declaring file relative to the repository root, with posix * separators; `undefined` when either path is unknown or the file lives * outside the repository. * * @param platformPath this is for testing purposes only so we can exercise * Windows path handling on Linux / Darwin */ export declare function resolveSourceFile(repoRoot: string | undefined, checkFileAbsolutePath: string | undefined, platformPath?: path.PlatformPath): string | undefined; export declare class ProjectBundle implements Bundle { project: Project; data: ProjectDataBundle; constructor(project: Project, data: ProjectDataBundle); private synthesizeRecord; synthesize(options?: ProjectSynthesizeOptions): { resources: { sourceFile?: string | undefined; logicalId: string; type: string; physicalId: string | number | undefined; member: boolean; payload: any; }[]; project: { logicalId: string; name: string; repoUrl: string | undefined; }; sharedFiles: import("./session.js").SharedFile[]; }; }