import { GitHubOidcConfig } from './CdkDiffIamTemplateStackSet'; /** * Props for generating CDK Diff IAM templates (no Projen dependency) */ export interface CdkDiffIamTemplateGeneratorProps { /** Name for the changeset IAM role */ readonly roleName: string; /** * ARN of the existing GitHub OIDC role that can assume this changeset role. * Required when createOidcRole is false or undefined. */ readonly oidcRoleArn?: string; /** * Region for the OIDC trust condition. * Only used when oidcRoleArn is provided (external OIDC role). */ readonly oidcRegion?: string; /** * Create a GitHub OIDC role within this template instead of using an existing one. * When true, githubOidc configuration is required and oidcRoleArn is ignored. * Default: false */ readonly createOidcRole?: boolean; /** * Name of the GitHub OIDC role to create. * Only used when createOidcRole is true. * Default: 'GitHubOIDCRole' */ readonly oidcRoleName?: string; /** * GitHub OIDC configuration for repo/branch restrictions. * Required when createOidcRole is true. */ readonly githubOidc?: GitHubOidcConfig; /** * Skip creating the OIDC provider (use existing one). * Set to true if the account already has a GitHub OIDC provider. * Only used when createOidcRole is true. * Default: false */ readonly skipOidcProviderCreation?: boolean; } /** * Pure generator class for CDK Diff IAM templates. * No Projen dependency - can be used in any project. */ export declare class CdkDiffIamTemplateGenerator { /** * Generate the CloudFormation IAM template as a YAML string. */ static generateTemplate(props: CdkDiffIamTemplateGeneratorProps): string; /** * Generate the AWS CLI deploy command for the IAM template. */ static generateDeployCommand(templatePath?: string): string; /** * Generate template that creates OIDC provider and role (self-contained) */ private static generateTemplateWithOidcRole; /** * Generate template that uses an external OIDC role (original behavior) */ private static generateTemplateWithExternalOidcRole; private static generateOidcProviderLines; private static generateOidcRoleLines; private static buildSubjectClaims; private static generateChangesetRoleWithOidcRef; private static generateOidcProviderOutputLines; private static generateOidcRoleOutputLines; private static generateChangesetOutputLines; } /** * Props for the Projen-integrated CDK Diff IAM template construct */ export interface CdkDiffIamTemplateProps extends CdkDiffIamTemplateGeneratorProps { /** Projen project instance */ readonly project: any; /** Output path for the template file (default: 'cdk-diff-workflow-iam-template.yaml') */ readonly outputPath?: string; } /** * Projen construct that emits a CloudFormation template with minimal IAM permissions * for the CDK Diff Stack Workflow. * * For non-Projen projects, use `CdkDiffIamTemplateGenerator` directly. */ export declare class CdkDiffIamTemplate { constructor(props: CdkDiffIamTemplateProps); }