import { GeneratedFile, ObjectValueBuilder, Program } from '../sourcegen'; import { AlertChannelResource } from './alert-channel-codegen'; import { HttpHeader } from './http-header'; import { QueryParam } from './query-param'; import { IncidentioAlertChannelCodegen } from './incidentio-alert-channel-codegen'; import { MSTeamsAlertChannelCodegen } from './msteams-alert-channel-codegen'; import { TelegramAlertChannelCodegen } from './telegram-alert-channel-codegen'; import { Codegen, Context } from './internal/codegen'; export type WebhookType = 'WEBHOOK_INCIDENTIO' | 'WEBHOOK_TELEGRAM' | 'WEBHOOK_MSTEAMS'; export interface WebhookAlertChannelResourceConfig { name: string; webhookType?: WebhookType; url: string; template?: string; method?: string; headers?: HttpHeader[]; queryParameters?: QueryParam[]; webhookSecret?: string | null; } export interface WebhookAlertChannelResource extends AlertChannelResource { type: 'WEBHOOK'; config: WebhookAlertChannelResourceConfig; } export declare function buildWebhookAlertChannelConfig(program: Program, genfile: GeneratedFile, context: Context, builder: ObjectValueBuilder, config: WebhookAlertChannelResourceConfig): void; export declare class WebhookAlertChannelCodegen extends Codegen { incidentioCodegen: IncidentioAlertChannelCodegen; msteamsCodegen: MSTeamsAlertChannelCodegen; telegramCodegen: TelegramAlertChannelCodegen; codegensByWebhookType: Record>; constructor(program: Program); describe(resource: WebhookAlertChannelResource): string; prepare(logicalId: string, resource: WebhookAlertChannelResource, context: Context): void; gencode(logicalId: string, resource: WebhookAlertChannelResource, context: Context): void; }