import type { Comparator } from './compare.ts'; /** * The order of attributes within a single resource definition (a direct child * of the root `Resources` section). Listed attributes come first in this order; * any other key is placed after them alphabetically. * * Only `Type` and `Properties` reflect a firm convention. The remaining resource * attributes (`Condition`, `DependsOn`, the policies, `Metadata`) have no * AWS-blessed order — this constant is the single place to adjust them. * * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html */ export declare const RESOURCE_ATTRIBUTE_ORDER: readonly string[]; /** * Comparator for the keys of a resource definition object. Recognized * attributes are ordered by their position in {@link RESOURCE_ATTRIBUTE_ORDER}; * any other key is placed after them and sorted alphabetically among the rest. */ export declare const compareResourceAttributes: Comparator; /** * Builds a comparator for the logical IDs of the root `Resources` object that * groups resources by their `Type` value and orders alphabetically by logical ID * within each group. Both keys use the deterministic {@link compareKeys}. * * A resource whose `Type` is missing or not a string is treated as having an * empty-string type, so it sorts deterministically (before any real type) and is * never dropped or able to throw. */ export declare function compareResourcesByType(resources: Readonly>): Comparator;