import { type Policy } from '@cloud-copilot/iam-policy'; import { StringBuffer } from '../util/StringBuffer.js'; import { type Converter } from './converter.js'; /** * Converts an IAM policy into Python code for AWS CDK (using `aws_cdk.aws_iam`). * Produces something like: * */ export declare class CdkPythonConverter implements Converter { convert(policy: Policy, sb: StringBuffer, options?: { variableName?: string; }): void; private convertActions; private convertResources; /** * Convert Principals into Python code, e.g. `[iam.ArnPrincipal("arn..."), iam.ServicePrincipal("...")]`. * * If `*` is present (and singled out by your policy logic), we use `iam.AnyPrincipal()`. * Otherwise, we pick principal classes based on `principal.type()`. */ private convertPrincipals; /** * Convert conditions into a Python dict structure, e.g. * * conditions={ * "StringEquals": { * "aws:username": "FoxMulder", * "aws:someKey": ["val1","val2"] * } * } */ private convertConditions; } //# sourceMappingURL=cdkPython.d.ts.map