/** * Constants and utilities for Pulumi SOPS state management */ /** * File extension for encrypted files */ export declare const ENCRYPTED_FILE_SUFFIX: ".enc"; /** * Glob patterns for unencrypted Pulumi state files */ export declare const PULUMI_STATE_PATTERNS: readonly ["**/.pulumi/meta.yaml", "**/.pulumi/stacks/**/*.{yaml,yml,json}"]; /** * Glob patterns for encrypted Pulumi state files */ export declare const PULUMI_ENCRYPTED_STATE_PATTERNS: readonly ["**/.pulumi/meta.yaml.enc", "**/.pulumi/stacks/**/*.{yaml,yml,json}.enc"]; /** * Patterns to exclude (already encrypted) */ export declare const PULUMI_ENCRYPTED_EXCLUDE_PATTERNS: readonly ["**/*.json.enc", "**/*.yaml.enc", "**/*.yml.enc"]; /** * Concurrent SOPS operations limit (conservative for GPG agent) */ export declare const DEFAULT_CONCURRENCY_LIMIT = 5; /** * SOPS exit code for unchanged files */ export declare const SOPS_EXIT_CODE_UNCHANGED = 200; /** * Supported file types for SOPS operations */ export type SopsFileType = "json" | "yaml"; /** * Detect file type from path * * @param filePath Path to the file * @returns 'json' if JSON file, 'yaml' otherwise */ export declare function detectFileType(filePath: string): SopsFileType; /** * Get original path from encrypted file * * @param filePath Encrypted file path * @returns File path without .enc suffix */ export declare function getDecryptedPath(filePath: string): string; /** * Get output path for encrypted file * * @param filePath Original file path * @returns File path with .enc suffix */ export declare function getEncryptedPath(filePath: string): string; /** * Check if file is encrypted * * @param filePath File path to check * @returns True if file has .enc suffix */ export declare function isEncryptedFile(filePath: string): boolean;