import { Codegen, Context } from './internal/codegen/index.js'; import { MonitorResource } from './monitor-codegen.js'; import { SslAssertion } from './ssl-assertion.js'; import { IPFamily } from './ip.js'; import { SecurityBaseline, SslClientCertificateMode } from './ssl-request.js'; /** * Wire-format shape of the SSL request as returned by the Checkly API. * hostname/port/ipFamily live inside sslConfig on the wire; the construct * exposes them at different levels. degradedResponseTime/maxResponseTime * live at the resource top level, not inside sslConfig. */ export interface SslMonitorWireRequest { sslConfig: { hostname: string; port?: number; ipFamily?: IPFamily; serverName?: string; skipChainValidation?: boolean; handshakeTimeoutMs?: number; alertDaysBeforeExpiry?: number; clientCertificateMode?: SslClientCertificateMode; securityBaseline?: SecurityBaseline; }; sslClientCertificateId?: string; assertions?: Array; } export interface SslMonitorResource extends MonitorResource { checkType: 'SSL'; request: SslMonitorWireRequest; degradedResponseTime?: number; maxResponseTime?: number; } export declare class SslMonitorCodegen extends Codegen { describe(resource: SslMonitorResource): string; gencode(logicalId: string, resource: SslMonitorResource, context: Context): void; }