import { Construct } from './construct.js'; import { Check, AlertChannelSubscription, AlertChannel, CheckGroup, MaintenanceWindow, Dashboard, PrivateLocation, PrivateLocationCheckAssignment, PrivateLocationGroupAssignment, StatusPage, StatusPageService } from './/index.js'; import { Diagnostics } from './diagnostics.js'; import { ProjectBundle } from './project-bundle.js'; import { Bundler } from '../services/check-parser/bundler.js'; export interface ProjectProps { /** * Friendly name for your project. */ name: string; /** * Git repository URL. */ repoUrl?: string; } export type Resources = { 'check': Check; 'check-group': CheckGroup; 'alert-channel': AlertChannel; 'alert-channel-subscription': AlertChannelSubscription; 'maintenance-window': MaintenanceWindow; 'private-location': PrivateLocation; 'private-location-check-assignment': PrivateLocationCheckAssignment; 'private-location-group-assignment': PrivateLocationGroupAssignment; 'dashboard': Dashboard; 'status-page': StatusPage; 'status-page-service': StatusPageService; }; export type ProjectData = { [x in keyof Resources]: Record; }; export declare class Project extends Construct { name: string; repoUrl?: string; logicalId: string; testOnlyAllowed: boolean; data: ProjectData; static readonly __checklyType = "project"; /** * Constructs the Project instance * * @param logicalId unique project identifier * @param props project configuration properties */ constructor(logicalId: string, props: ProjectProps); describe(): string; validate(diagnostics: Diagnostics): Promise; allowTestOnly(enabled: boolean): void; addResource(type: string, logicalId: string, resource: Construct): void; bundle(bundler: Bundler): Promise; synthesize(): { project: { logicalId: string; name: string; repoUrl: string | undefined; }; sharedFiles: import("./session.js").SharedFile[]; }; getTestOnlyConstructs(): Construct[]; getHeartbeatLogicalIds(): string[]; }