/** * Shared utility for extracting ARM template resource references * from template properties. * * Used by AZR010 (redundant DependsOn) and other post-synth checks. * * ARM templates use bracket expressions like [resourceId(...)], * [reference(...)], and [concat(...)] to reference other resources. */ /** * Parsed ARM template structure. */ export interface ArmTemplate { $schema?: string; contentVersion?: string; parameters?: Record; resources?: ArmResource[]; outputs?: Record; [key: string]: unknown; } export interface ArmResource { type: string; apiVersion: string; name: string | unknown; location?: unknown; properties?: Record; dependsOn?: string[]; tags?: Record; [key: string]: unknown; } /** * Parse a serialized ARM template from build output. * Accepts either a raw string or a SerializerResult (extracts primary). */ export declare function parseArmTemplate(output: string | { primary: string; }): ArmTemplate | null; /** * Extract resource names referenced via bracket expressions in a value. * * Parses ARM bracket expressions like: * - [resourceId('Microsoft.Storage/storageAccounts', 'myStorage')] * - [reference('myStorage')] * - [reference('myStorage').primaryEndpoints.blob] * * Returns the set of resource names found in these references. */ export declare function findArmResourceRefs(value: unknown): Set; /** * Check if a string value is an ARM bracket expression. */ export declare function isBracketExpression(value: unknown): boolean; /** * Extract resource names from an ARM bracket expression string. * * Handles: * - [resourceId('Type', 'name')] -> extracts 'name' * - [reference('name')] -> extracts 'name' * - [reference('name').prop] -> extracts 'name' */ export declare function extractRefsFromExpression(expr: string): string[]; //# sourceMappingURL=arm-refs.d.ts.map