import { Codegen, Context } from './internal/codegen/index.js'; import { Program } from '../sourcegen/index.js'; import { AlertChannelCodegen } from './alert-channel-codegen.js'; import { AlertChannelSubscriptionCodegen } from './alert-channel-subscription-codegen.js'; import { CheckCodegen } from './check-codegen.js'; import { CheckGroupCodegen } from './check-group-codegen.js'; import { DashboardCodegen } from './dashboard-codegen.js'; import { MaintenanceWindowCodegen } from './maintenance-window-codegen.js'; import { PrivateLocationCodegen } from './private-location-codegen.js'; import { PrivateLocationCheckAssignmentCodegen } from './private-location-check-assignment-codegen.js'; import { PrivateLocationGroupAssignmentCodegen } from './private-location-group-assignment-codegen.js'; import { StatusPageServiceCodegen } from './status-page-service-codegen.js'; import { StatusPageCodegen } from './status-page-codegen.js'; 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 {};