import { Codegen, Context } from './internal/codegen'; import { Program } from '../sourcegen'; import { AlertChannelCodegen } from './alert-channel-codegen'; import { AlertChannelSubscriptionCodegen } from './alert-channel-subscription-codegen'; import { CheckCodegen } from './check-codegen'; import { CheckGroupCodegen } from './check-group-codegen'; import { DashboardCodegen } from './dashboard-codegen'; import { MaintenanceWindowCodegen } from './maintenance-window-codegen'; import { PrivateLocationCodegen } from './private-location-codegen'; import { PrivateLocationCheckAssignmentCodegen } from './private-location-check-assignment-codegen'; import { PrivateLocationGroupAssignmentCodegen } from './private-location-group-assignment-codegen'; import { StatusPageServiceCodegen } from './status-page-service-codegen'; import { StatusPageCodegen } from './status-page-codegen'; export type ResourceType = 'alert-channel-subscription' | 'alert-channel' | 'check-group' | 'check' | 'dashboard' | 'maintenance-window' | 'private-location-check-assignment' | 'private-location-group-assignment' | 'private-location' | 'status-page' | 'status-page-service'; interface Resource { type: ResourceType; logicalId: string; payload: any; } export declare function sortResources(resources: Resource[]): Resource[]; export declare class ConstructCodegen extends Codegen { alertChannelCodegen: AlertChannelCodegen; alertChannelSubscriptionCodegen: AlertChannelSubscriptionCodegen; checkCodegen: CheckCodegen; checkGroupCodegen: CheckGroupCodegen; dashboardCodegen: DashboardCodegen; maintenanceWindowCodegen: MaintenanceWindowCodegen; privateLocationCodegen: PrivateLocationCodegen; privateLocationCheckAssignmentCodegen: PrivateLocationCheckAssignmentCodegen; privateLocationGroupAssignmentCodegen: PrivateLocationGroupAssignmentCodegen; statusPageCodegen: StatusPageCodegen; statusPageServiceCodegen: StatusPageServiceCodegen; codegensByType: Record>; constructor(program: Program); describe(resource: Resource): string; prepare(logicalId: string, resource: Resource, context: Context): void; gencode(logicalId: string, resource: Resource, context: Context): void; } export {};