import { Codegen, Context } from './internal/codegen'; import { Program, GeneratedFile, ObjectValueBuilder, Value } from '../sourcegen'; import { EmailAlertChannelCodegen } from './email-alert-channel-codegen'; import { OpsgenieAlertChannelCodegen } from './opsgenie-alert-channel-codegen'; import { PagerdutyAlertChannelCodegen } from './pagerduty-alert-channel-codegen'; import { PhoneCallAlertChannelCodegen } from './phone-call-alert-channel-codegen'; import { SlackAlertChannelCodegen } from './slack-alert-channel-codegen'; import { SmsAlertChannelCodegen } from './sms-alert-channel-codegen'; import { WebhookAlertChannelCodegen } from './webhook-alert-channel-codegen'; export type AlertChannelType = 'CALL' | 'EMAIL' | 'OPSGENIE' | 'PAGERDUTY' | 'SLACK' | 'SMS' | 'WEBHOOK'; export interface AlertChannelResource { id: number; type: AlertChannelType; sendRecovery: boolean; sendFailure: boolean; sendDegraded: boolean; sslExpiry: boolean; sslExpiryThreshold: number; } export declare function buildAlertChannelProps(builder: ObjectValueBuilder, resource: AlertChannelResource): void; export declare function valueForAlertChannelFromId(genfile: GeneratedFile, physicalId: number): Value; export declare class AlertChannelCodegen extends Codegen { phoneCallCodegen: PhoneCallAlertChannelCodegen; emailCodegen: EmailAlertChannelCodegen; opsgenieCodegen: OpsgenieAlertChannelCodegen; pagerdutyCodegen: PagerdutyAlertChannelCodegen; slackCodegen: SlackAlertChannelCodegen; smsCodegen: SmsAlertChannelCodegen; webhookCodegen: WebhookAlertChannelCodegen; codegensByType: Record>; constructor(program: Program); describe(resource: AlertChannelResource): string; prepare(logicalId: string, resource: AlertChannelResource, context: Context): void; gencode(logicalId: string, resource: AlertChannelResource, context: Context): void; }