import * as core from "@terrascript/core";
export interface GranteeArgs extends core.SchemaArgs {
    displayName: string | core.StringOut;
    emailAddress?: string | core.StringOut;
    id?: string | core.StringOut;
    type: string | core.StringOut;
    uri?: string | core.StringOut;
}
export declare class Grantee extends core.Schema<GranteeArgs> {
    displayName: string | core.StringOut;
    emailAddress?: string | core.StringOut;
    id?: string | core.StringOut;
    type: string | core.StringOut;
    uri?: string | core.StringOut;
}
export interface TargetGrantArgs extends core.SchemaArgs {
    grantee: Grantee;
    permission: string | core.StringOut;
}
export declare class TargetGrant extends core.Schema<TargetGrantArgs> {
    grantee: Grantee;
    permission: string | core.StringOut;
}
export interface BucketLoggingArgs extends core.ResourceArgs {
    bucket: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    targetBucket: string | core.StringOut;
    targetGrant?: core.Array<TargetGrant> | core.ArrayOut<TargetGrant>;
    targetPrefix: string | core.StringOut;
}
export declare class BucketLogging extends core.Resource<BucketLoggingArgs> {
    bucket: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    id: string | core.StringOut;
    targetBucket: string | core.StringOut;
    targetGrant?: core.Array<TargetGrant> | core.ArrayOut<TargetGrant>;
    targetPrefix: string | core.StringOut;
    constructor(name: string, args?: BucketLoggingArgs);
    getNamespace(): string;
}
//# sourceMappingURL=bucket_logging.d.ts.map