import { Codegen, Context } from './internal/codegen'; import { Program, ObjectValueBuilder, GeneratedFile } from '../sourcegen'; import { AgenticCheckCodegen } from './agentic-check-codegen'; import { AlertEscalationResource } from './alert-escalation-policy-codegen'; import { ApiCheckCodegen } from './api-check-codegen'; import { BrowserCheckCodegen } from './browser-check-codegen'; import { CheckGroupCodegen } from './check-group-codegen'; import { EnvironmentVariable } from './environment-variable'; import { FrequencyResource } from './frequency-codegen'; import { HeartbeatMonitorCodegen } from './heartbeat-monitor-codegen'; import { MultiStepCheckCodegen } from './multi-step-check-codegen'; import { RetryStrategyResource } from './retry-strategy-codegen'; import { TcpMonitorCodegen } from './tcp-monitor-codegen'; import { UrlMonitorCodegen } from './url-monitor-codegen'; import { DnsMonitorCodegen } from './dns-monitor-codegen'; import { IcmpMonitorCodegen } from './icmp-monitor-codegen'; export interface CheckResource { id: string; checkType: string; name: string; description?: string | null; activated?: boolean; muted?: boolean; shouldFail?: boolean; locations?: string[]; tags?: string[]; frequency?: number | FrequencyResource; frequencyOffset?: number; groupId?: number; alertSettings?: AlertEscalationResource; testOnly?: boolean; retryStrategy?: RetryStrategyResource; runParallel?: boolean; } /** * Options controlling which common check fields `buildCheckProps` emits. * * The defaults match the historical behavior — every field is emitted if * the resource provides it. Individual check types can opt out of specific * fields when their construct's props type does not accept them. For * example, `AgenticCheck` omits `retryStrategy` from its props, so its * codegen passes `skipRetryStrategy: true` to avoid emitting code that * would not type-check against the construct. */ export interface BuildCheckPropsOptions { /** * Skip emitting the `retryStrategy` property. Unlike most fields in * `buildCheckProps`, `retryStrategy` is emitted unconditionally (null is * rendered as `RetryStrategyBuilder.noRetries()`), so opting out requires * an explicit flag. */ skipRetryStrategy?: boolean; } export declare function buildCheckProps(program: Program, genfile: GeneratedFile, builder: ObjectValueBuilder, resource: CheckResource, context: Context, options?: BuildCheckPropsOptions): void; export interface RuntimeCheckResource extends CheckResource { runtimeId?: string; environmentVariables?: EnvironmentVariable[]; } export declare function buildRuntimeCheckProps(program: Program, genfile: GeneratedFile, builder: ObjectValueBuilder, resource: RuntimeCheckResource, context: Context): void; export declare class CheckCodegen extends Codegen { agenticCheckCodegen: AgenticCheckCodegen; apiCheckCodegen: ApiCheckCodegen; browserCheckCodegen: BrowserCheckCodegen; checkGroupCodegen: CheckGroupCodegen; heartbeatMonitorCodegen: HeartbeatMonitorCodegen; multiStepCheckCodegen: MultiStepCheckCodegen; tcpMonitorCodegen: TcpMonitorCodegen; urlMonitorCodegen: UrlMonitorCodegen; dnsMonitorCodegen: DnsMonitorCodegen; icmpMonitorCodegen: IcmpMonitorCodegen; constructor(program: Program); describe(resource: CheckResource): string; gencode(logicalId: string, resource: CheckResource, context: Context): void; }