import { type Value } from "@intentius/chant"; import { EcsService, TaskDefinition, TaskDefinition_MountPoint, TargetGroup, Role, Role_Policy } from "../generated/index.js"; /** * The ALB `ListenerRule`'s real `Priority` bounds (documented on * `elasticloadbalancing:CreateRule`, and enforced the same way for a * CloudFormation-managed rule) — not an opinion this composite holds. * * Exported for the same reason as `MICROVM_LIMITS` (#1374, #1420): a * consumer routing to the same shared ALB through another control plane * needs the same numbers, and copying them is how two sources of truth * start. */ export declare const FARGATE_SERVICE_LIMITS: { readonly priority: { readonly min: 1; readonly max: 50000; }; }; export interface FargateServiceProps { clusterArn: Value; listenerArn: Value; albSecurityGroupId: Value; executionRoleArn: Value; priority: number; pathPatterns?: string[]; hostHeaders?: string[]; image: Value; containerPort?: number; cpu?: string; memory?: string; desiredCount?: number; autoscaling?: { minCapacity?: number; maxCapacity: number; cpuTarget?: number; scaleInCooldown?: number; scaleOutCooldown?: number; }; environment?: Record; command?: string[]; mountPoints?: InstanceType[]; efsMounts?: Array<{ fileSystemId: string; accessPointId?: string; containerPath: string; volumeName?: string; transitEncryption?: "ENABLED" | "DISABLED"; }>; vpcId: Value; privateSubnetIds: Array>; healthCheckPath?: string; ulimits?: Array<{ name: string; softLimit: number; hardLimit: number; }>; ManagedPolicyArns?: string[]; Policies?: InstanceType[]; logRetentionDays?: number; defaults?: { taskRole?: Partial[0]>; taskDef?: Partial[0]>; targetGroup?: Partial[0]>; service?: Partial[0]>; }; } export declare const FargateService: import("@intentius/chant").CompositeDefinition) | undefined; scalableTarget?: (import("@intentius/chant").Declarable & Record) | undefined; taskRole: import("@intentius/chant").Declarable & Record; logGroup: import("@intentius/chant").Declarable & Record; taskDef: import("@intentius/chant").Declarable & Record; taskSg: import("@intentius/chant").Declarable & Record; targetGroup: import("@intentius/chant").Declarable & Record; rule: import("@intentius/chant").Declarable & Record; service: import("@intentius/chant").Declarable & Record; }>; //# sourceMappingURL=fargate-service.d.ts.map