import * as core from "@terrascript/core";
export interface ApplyServerSideEncryptionByDefaultArgs extends core.SchemaArgs {
    kmsMasterKeyId?: string | core.StringOut;
    sseAlgorithm: string | core.StringOut;
}
export declare class ApplyServerSideEncryptionByDefault extends core.Schema<ApplyServerSideEncryptionByDefaultArgs> {
    kmsMasterKeyId?: string | core.StringOut;
    sseAlgorithm: string | core.StringOut;
}
export interface RuleArgs extends core.SchemaArgs {
    applyServerSideEncryptionByDefault?: ApplyServerSideEncryptionByDefault;
    bucketKeyEnabled?: boolean | core.BooleanOut;
}
export declare class Rule extends core.Schema<RuleArgs> {
    applyServerSideEncryptionByDefault?: ApplyServerSideEncryptionByDefault;
    bucketKeyEnabled?: boolean | core.BooleanOut;
}
export interface BucketServerSideEncryptionConfigurationArgs extends core.ResourceArgs {
    bucket: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    rule: core.Array<Rule> | core.ArrayOut<Rule>;
}
export declare class BucketServerSideEncryptionConfiguration extends core.Resource<BucketServerSideEncryptionConfigurationArgs> {
    bucket: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    id: string | core.StringOut;
    rule: core.Array<Rule> | core.ArrayOut<Rule>;
    constructor(name: string, args?: BucketServerSideEncryptionConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=bucket_server_side_encryption_configuration.d.ts.map