import * as core from "@terrascript/core";
export interface DefaultRetentionArgs extends core.SchemaArgs {
    days?: number | core.NumberOut;
    mode?: string | core.StringOut;
    years?: number | core.NumberOut;
}
export declare class DefaultRetention extends core.Schema<DefaultRetentionArgs> {
    days?: number | core.NumberOut;
    mode?: string | core.StringOut;
    years?: number | core.NumberOut;
}
export interface RuleArgs extends core.SchemaArgs {
    defaultRetention: DefaultRetention;
}
export declare class Rule extends core.Schema<RuleArgs> {
    defaultRetention: DefaultRetention;
}
export interface BucketObjectLockConfigurationArgs extends core.ResourceArgs {
    bucket: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    objectLockEnabled?: string | core.StringOut;
    rule: Rule;
    token?: string | core.StringOut;
}
export declare class BucketObjectLockConfiguration extends core.Resource<BucketObjectLockConfigurationArgs> {
    bucket: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    id: string | core.StringOut;
    objectLockEnabled?: string | core.StringOut;
    rule: Rule;
    token?: string | core.StringOut;
    constructor(name: string, args?: BucketObjectLockConfigurationArgs);
    getNamespace(): string;
}
//# sourceMappingURL=bucket_object_lock_configuration.d.ts.map