import type { IConstruct } from 'constructs';
import type { PolicyStatement } from '../../../aws-iam';
import { Mixin } from '../../../core/lib/mixins';
import { CfnBucketPolicy } from '../s3.generated';
/**
 * Adds statements to a bucket policy.
 */
export declare class BucketPolicyStatements extends Mixin {
    private readonly statements;
    constructor(statements: PolicyStatement[]);
    supports(construct: IConstruct): construct is CfnBucketPolicy;
    applyTo(policy: IConstruct): void;
    /**
     * CfnBucketPolicy.policyDocument sometimes is a PolicyDocument object
     * and sometimes is a plain object. We need to handle both cases.
     */
    private getPolicyDocument;
}
