import * as core from "@terrascript/core";
export interface GrantArgs extends core.SchemaArgs {
    email?: string | core.StringOut;
    id?: string | core.StringOut;
    permissions: core.Array<string> | core.ArrayOut<core.StringOut>;
    type: string | core.StringOut;
    uri?: string | core.StringOut;
}
export declare class Grant extends core.Schema<GrantArgs> {
    email?: string | core.StringOut;
    id?: string | core.StringOut;
    permissions: core.Array<string> | core.ArrayOut<core.StringOut>;
    type: string | core.StringOut;
    uri?: string | core.StringOut;
}
export interface ObjectCopyArgs extends core.ResourceArgs {
    acl?: string | core.StringOut;
    bucket: string | core.StringOut;
    bucketKeyEnabled?: boolean | core.BooleanOut;
    cacheControl?: string | core.StringOut;
    contentDisposition?: string | core.StringOut;
    contentEncoding?: string | core.StringOut;
    contentLanguage?: string | core.StringOut;
    contentType?: string | core.StringOut;
    copyIfMatch?: string | core.StringOut;
    copyIfModifiedSince?: string | core.StringOut;
    copyIfNoneMatch?: string | core.StringOut;
    copyIfUnmodifiedSince?: string | core.StringOut;
    customerAlgorithm?: string | core.StringOut;
    customerKey?: string | core.StringOut;
    customerKeyMd5?: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    expectedSourceBucketOwner?: string | core.StringOut;
    expires?: string | core.StringOut;
    forceDestroy?: boolean | core.BooleanOut;
    grant?: core.Array<Grant> | core.ArrayOut<Grant>;
    key: string | core.StringOut;
    kmsEncryptionContext?: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    metadata?: core.Map<string, string> | core.MapOut<core.StringOut>;
    metadataDirective?: string | core.StringOut;
    objectLockLegalHoldStatus?: string | core.StringOut;
    objectLockMode?: string | core.StringOut;
    objectLockRetainUntilDate?: string | core.StringOut;
    requestPayer?: string | core.StringOut;
    serverSideEncryption?: string | core.StringOut;
    source: string | core.StringOut;
    sourceCustomerAlgorithm?: string | core.StringOut;
    sourceCustomerKey?: string | core.StringOut;
    sourceCustomerKeyMd5?: string | core.StringOut;
    storageClass?: string | core.StringOut;
    taggingDirective?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    websiteRedirect?: string | core.StringOut;
}
export declare class ObjectCopy extends core.Resource<ObjectCopyArgs> {
    acl?: string | core.StringOut;
    bucket: string | core.StringOut;
    bucketKeyEnabled?: boolean | core.BooleanOut;
    cacheControl?: string | core.StringOut;
    contentDisposition?: string | core.StringOut;
    contentEncoding?: string | core.StringOut;
    contentLanguage?: string | core.StringOut;
    contentType?: string | core.StringOut;
    copyIfMatch?: string | core.StringOut;
    copyIfModifiedSince?: string | core.StringOut;
    copyIfNoneMatch?: string | core.StringOut;
    copyIfUnmodifiedSince?: string | core.StringOut;
    customerAlgorithm?: string | core.StringOut;
    customerKey?: string | core.StringOut;
    customerKeyMd5?: string | core.StringOut;
    etag: string | core.StringOut;
    expectedBucketOwner?: string | core.StringOut;
    expectedSourceBucketOwner?: string | core.StringOut;
    expiration: string | core.StringOut;
    expires?: string | core.StringOut;
    forceDestroy?: boolean | core.BooleanOut;
    grant?: core.Array<Grant> | core.ArrayOut<Grant>;
    id: string | core.StringOut;
    key: string | core.StringOut;
    kmsEncryptionContext?: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    lastModified: string | core.StringOut;
    metadata?: core.Map<string, string> | core.MapOut<core.StringOut>;
    metadataDirective?: string | core.StringOut;
    objectLockLegalHoldStatus?: string | core.StringOut;
    objectLockMode?: string | core.StringOut;
    objectLockRetainUntilDate?: string | core.StringOut;
    requestCharged: boolean | core.BooleanOut;
    requestPayer?: string | core.StringOut;
    serverSideEncryption?: string | core.StringOut;
    source: string | core.StringOut;
    sourceCustomerAlgorithm?: string | core.StringOut;
    sourceCustomerKey?: string | core.StringOut;
    sourceCustomerKeyMd5?: string | core.StringOut;
    sourceVersionId: string | core.StringOut;
    storageClass?: string | core.StringOut;
    taggingDirective?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    versionId: string | core.StringOut;
    websiteRedirect?: string | core.StringOut;
    constructor(name: string, args?: ObjectCopyArgs);
    getNamespace(): string;
}
//# sourceMappingURL=object_copy.d.ts.map