export interface Stack { readonly stackName: string; readonly driftDetectionRoleToAssumeRegion: string; readonly driftDetectionRoleToAssumeArn: string; readonly failOnDrift?: boolean; readonly oidcRoleArn?: string; readonly oidcRegion?: string; } export interface CdkDriftDetectionWorkflowProps { readonly scriptOutputPath?: string; readonly project: any; readonly workflowName?: string; readonly schedule?: string; readonly createIssues?: boolean; readonly oidcRoleArn?: string; readonly oidcRegion?: string; readonly stacks: Stack[]; readonly nodeVersion?: string; /** * Working directory for the CDK app, relative to the repository root. * Useful for monorepos where infrastructure lives in a subdirectory (e.g., 'infra'). * * When set, all workflow run steps will use `defaults.run.working-directory` * and artifact/script paths will be adjusted accordingly. * * @default - repository root */ readonly workingDirectory?: string; /** * Optional hook to append additional GitHub Actions steps after drift detection per stack. * You can supply a static array of steps, or a factory that receives context and returns steps. */ /** * Optional additional GitHub Action steps to run after drift detection for each stack. * These steps run after results are uploaded for each stack. You can include * any notifications you like (e.g., Slack). Provide explicit inputs (e.g., payload/markdown) * directly in your step without relying on a pre-generated payload. */ readonly postGitHubSteps?: any; /** * Additional GitHub Actions steps to run before drift detection (after install, before AWS creds). * Accepts a static array of steps, or a factory function receiving context: * `(ctx: { stack: string; workingDirectory?: string }) => GitHubStep[]` * * When `workingDirectory` is set, all `run:` steps inherit that directory. * To run a step at the repository root, add `working-directory: '.'` to that step. * * Pre-steps automatically receive the stack-selection condition (`if`) so they * only run when the stack is selected via dispatch. */ readonly preGitHubSteps?: any; } export declare class CdkDriftDetectionWorkflow { private static scriptCreated; constructor(props: CdkDriftDetectionWorkflowProps); private validateOidcConfiguration; }