export interface InventoryRetrievalJobInput {
    /** The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20 */
    StartDate?: string;
    /** The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03: */
    EndDate?: string;
    /** Specifies the maximum number of inventory items returned per vault inventory retrieval request. Valid values are greater than or equal to 1. */
    Limit?: string;
    /** An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new InitiateJob request to obtain additional inventory items. If there a */
    Marker?: string;
}
export interface SelectParameters {
    /** Describes the serialization format of the object. */
    InputSerialization?: any;
    /** The type of the provided expression, for example SQL. */
    ExpressionType?: 'SQL';
    /** The expression that is used to select the object. */
    Expression?: string;
    /** Describes how the results of the select job are serialized. */
    OutputSerialization?: any;
}
export interface OutputLocation {
    /** Describes an S3 location that will receive the results of the job request. */
    S3?: any;
}
export interface JobParameters {
    /** When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a For */
    Format?: string;
    /** The job type. You can initiate a job to perform a select query on an archive, retrieve an archive, or get an inventory of a vault. Valid values are "select", "archive-retrieval" and "inventory-retriev */
    Type?: string;
    /** The ID of the archive that you want to retrieve. This field is required only if Type is set to select or archive-retrievalcode>. An error occurs if you specify this request parameter for an inventory  */
    ArchiveId?: string;
    /** The optional description for the job. The description must be less than or equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, ASCII values 32-126 decima */
    Description?: string;
    /** The Amazon SNS topic ARN to which Amazon Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subsc */
    SNSTopic?: string;
    /** The byte range to retrieve for an archive retrieval. in the form "StartByteValue-EndByteValue" If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*102 */
    RetrievalByteRange?: string;
    /** The tier to use for a select or an archive retrieval job. Valid values are Expedited, Standard, or Bulk. Standard is the default. */
    Tier?: string;
    /** Input parameters used for range inventory retrieval. */
    InventoryRetrievalParameters?: InventoryRetrievalJobInput;
    /** Contains the parameters that define a job. */
    SelectParameters?: SelectParameters;
    /** Contains information about the location where the select job results are stored. */
    OutputLocation?: OutputLocation;
}
export interface VaultLockPolicy {
    /** The vault lock policy. */
    Policy?: string;
}
export interface DataRetrievalPolicy {
    /** The policy rule. Although this is a list type, currently there must be only one rule, which contains a Strategy field and optionally a BytesPerHour field. */
    Rules?: any[];
}
export interface VaultAccessPolicy {
    /** The vault access policy. */
    Policy?: string;
}
export interface VaultNotificationConfig {
    /** The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource Name (ARN). */
    SNSTopic?: string;
    /** A list of one or more events for which Amazon Glacier will send a notification to the specified Amazon SNS topic. */
    Events?: string[];
}
/** Provides options to abort a multipart upload identified by the upload ID. For information about the underlying REST API, see Abort Multipart Upload. For conceptual information, see Working with Archiv */
export interface AbortMultipartUploadInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The upload ID of the multipart upload to delete. */
    uploadId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** The input values for AbortVaultLock. */
export interface AbortVaultLockInput {
    /** The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a s */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** The input values for AddTagsToVault. */
export interface AddTagsToVaultInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The tags to add to the vault. Each tag is composed of a key and a value. The value can be an empty string. */
    Tags?: Record<string, string>;
}
/** Provides options to complete a multipart upload operation. This informs Amazon Glacier that all the archive parts have been uploaded and Amazon Glacier (Glacier) can now assemble the archive from the  */
export interface CompleteMultipartUploadInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The upload ID of the multipart upload. */
    uploadId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The total size, in bytes, of the entire archive. This value should be the sum of all the sizes of the individual parts that you uploaded. */
    archiveSize?: string;
    /** The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 tree hash of the individual parts. If the value you specify in the request does not match the SHA256 tree hash of the final as */
    checksum?: string;
}
/** The input values for CompleteVaultLock. */
export interface CompleteVaultLockInput {
    /** The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a s */
    accountId: string;
    /** The lockId value is the lock ID obtained from a InitiateVaultLock request. */
    lockId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options to create a vault. */
export interface CreateVaultInput {
    /** The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a s */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options for deleting an archive from an Amazon Glacier vault. */
export interface DeleteArchiveInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The ID of the archive to delete. */
    archiveId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options for deleting a vault from Amazon Glacier. */
export interface DeleteVaultInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** DeleteVaultAccessPolicy input. */
export interface DeleteVaultAccessPolicyInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options for deleting a vault notification configuration from an Amazon Glacier vault. */
export interface DeleteVaultNotificationsInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options for retrieving a job description. */
export interface DescribeJobInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The ID of the job to describe. */
    jobId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options for retrieving metadata for a specific vault in Amazon Glacier. */
export interface DescribeVaultInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Input for GetDataRetrievalPolicy. */
export interface GetDataRetrievalPolicyInput {
    /** The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a s */
    accountId: string;
}
/** Provides options for downloading output of an Amazon Glacier job. */
export interface GetJobOutputInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The job ID whose data is downloaded. */
    jobId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The range of bytes to retrieve from the output. For example, if you want to download the first 1,048,576 bytes, specify the range as bytes=0-1048575. By default, this operation downloads the entire ou */
    range?: string;
}
/** Input for GetVaultAccessPolicy. */
export interface GetVaultAccessPolicyInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** The input values for GetVaultLock. */
export interface GetVaultLockInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options for retrieving the notification configuration set on an Amazon Glacier vault. */
export interface GetVaultNotificationsInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options for initiating an Amazon Glacier job. */
export interface InitiateJobInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** Provides options for specifying job information. */
    jobParameters?: JobParameters;
}
/** Provides options for initiating a multipart upload to an Amazon Glacier vault. */
export interface InitiateMultipartUploadInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The archive description that you are uploading in parts. The part size must be a megabyte (1024 KB) multiplied by a power of 2, for example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 M */
    archiveDescription?: string;
    /** The size of each part except the last, in bytes. The last part can be smaller than this part size. */
    partSize?: string;
}
/** The input values for InitiateVaultLock. */
export interface InitiateVaultLockInput {
    /** The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a s */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The vault lock policy as a JSON string, which uses "\" as an escape character. */
    policy?: VaultLockPolicy;
}
/** Provides options for retrieving a job list for an Amazon Glacier vault. */
export interface ListJobsInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The state of the jobs to return. You can specify true or false. */
    completed?: string;
    /** The maximum number of jobs to be returned. The default limit is 50. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit. */
    limit?: number;
    /** An opaque string used for pagination. This value specifies the job at which the listing of jobs should begin. Get the marker value from a previous List Jobs response. You only need to include the mark */
    marker?: string;
    /** The type of job status to return. You can specify the following values: InProgress, Succeeded, or Failed. */
    statuscode?: string;
}
/** Provides options for retrieving list of in-progress multipart uploads for an Amazon Glacier vault. */
export interface ListMultipartUploadsInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 50 uploads. */
    limit?: number;
    /** An opaque string used for pagination. This value specifies the upload at which the listing of uploads should begin. Get the marker value from a previous List Uploads response. You need only include th */
    marker?: string;
}
/** Provides options for retrieving a list of parts of an archive that have been uploaded in a specific multipart upload. */
export interface ListPartsInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The upload ID of the multipart upload. */
    uploadId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The maximum number of parts to be returned. The default limit is 50. The number of parts returned might be fewer than the specified limit, but the number of returned parts never exceeds the limit. */
    limit?: number;
    /** An opaque string used for pagination. This value specifies the part at which the listing of parts should begin. Get the marker value from the response of a previous List Parts response. You need only  */
    marker?: string;
}
export interface ListProvisionedCapacityInput {
    /** The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated wit */
    accountId: string;
}
/** The input value for ListTagsForVaultInput. */
export interface ListTagsForVaultInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
}
/** Provides options to retrieve the vault list owned by the calling user's account. The list provides metadata information for each vault. */
export interface ListVaultsInput {
    /** The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a s */
    accountId: string;
    /** The maximum number of vaults to be returned. The default limit is 10. The number of vaults returned might be fewer than the specified limit, but the number of returned vaults never exceeds the limit. */
    limit?: number;
    /** A string used for pagination. The marker specifies the vault ARN after which the listing of vaults should begin. */
    marker?: string;
}
export interface PurchaseProvisionedCapacityInput {
    /** The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated wit */
    accountId: string;
}
/** The input value for RemoveTagsFromVaultInput. */
export interface RemoveTagsFromVaultInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** A list of tag keys. Each corresponding tag is removed from the vault. */
    TagKeys?: string[];
}
/** SetDataRetrievalPolicy input. */
export interface SetDataRetrievalPolicyInput {
    /** The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a s */
    accountId: string;
    /** The data retrieval policy in JSON format. */
    Policy?: DataRetrievalPolicy;
}
/** SetVaultAccessPolicy input. */
export interface SetVaultAccessPolicyInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The vault access policy as a JSON string. */
    policy?: VaultAccessPolicy;
}
/** Provides options to configure notifications that will be sent when specific events happen to a vault. */
export interface SetVaultNotificationsInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** Provides options for specifying notification configuration. */
    vaultNotificationConfig?: VaultNotificationConfig;
}
/** Provides options to add an archive to a vault. */
export interface UploadArchiveInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The optional description of the archive you are uploading. */
    archiveDescription?: string;
    /** The data to upload. */
    body?: string;
    /** The SHA256 tree hash of the data being uploaded. */
    checksum?: string;
}
/** Provides options to upload a part of an archive in a multipart upload operation. */
export interface UploadMultipartPartInput {
    /** The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS ac */
    accountId: string;
    /** The upload ID of the multipart upload. */
    uploadId: string;
    /** The name of the vault. */
    vaultName: string;
    /** The data to upload. */
    body?: string;
    /** The SHA256 tree hash of the data being uploaded. */
    checksum?: string;
    /** Identifies the range of bytes in the assembled archive that will be uploaded in this part. Amazon Glacier uses this information to assemble the archive in the proper sequence. The format of this heade */
    range?: string;
}
/** Glacier service binding for Step Functions SDK integrations. */
export declare class Glacier {
    constructor();
    abortMultipartUpload<T>(params: AbortMultipartUploadInput): Promise<T>;
    abortVaultLock<T>(params: AbortVaultLockInput): Promise<T>;
    addTagsToVault<T>(params: AddTagsToVaultInput): Promise<T>;
    completeMultipartUpload<T>(params: CompleteMultipartUploadInput): Promise<T>;
    completeVaultLock<T>(params: CompleteVaultLockInput): Promise<T>;
    createVault<T>(params: CreateVaultInput): Promise<T>;
    deleteArchive<T>(params: DeleteArchiveInput): Promise<T>;
    deleteVault<T>(params: DeleteVaultInput): Promise<T>;
    deleteVaultAccessPolicy<T>(params: DeleteVaultAccessPolicyInput): Promise<T>;
    deleteVaultNotifications<T>(params: DeleteVaultNotificationsInput): Promise<T>;
    describeJob<T>(params: DescribeJobInput): Promise<T>;
    describeVault<T>(params: DescribeVaultInput): Promise<T>;
    getDataRetrievalPolicy<T>(params: GetDataRetrievalPolicyInput): Promise<T>;
    getJobOutput<T>(params: GetJobOutputInput): Promise<T>;
    getVaultAccessPolicy<T>(params: GetVaultAccessPolicyInput): Promise<T>;
    getVaultLock<T>(params: GetVaultLockInput): Promise<T>;
    getVaultNotifications<T>(params: GetVaultNotificationsInput): Promise<T>;
    initiateJob<T>(params: InitiateJobInput): Promise<T>;
    initiateMultipartUpload<T>(params: InitiateMultipartUploadInput): Promise<T>;
    initiateVaultLock<T>(params: InitiateVaultLockInput): Promise<T>;
    listJobs<T>(params: ListJobsInput): Promise<T>;
    listMultipartUploads<T>(params: ListMultipartUploadsInput): Promise<T>;
    listParts<T>(params: ListPartsInput): Promise<T>;
    listProvisionedCapacity<T>(params: ListProvisionedCapacityInput): Promise<T>;
    listTagsForVault<T>(params: ListTagsForVaultInput): Promise<T>;
    listVaults<T>(params: ListVaultsInput): Promise<T>;
    purchaseProvisionedCapacity<T>(params: PurchaseProvisionedCapacityInput): Promise<T>;
    removeTagsFromVault<T>(params: RemoveTagsFromVaultInput): Promise<T>;
    setDataRetrievalPolicy<T>(params: SetDataRetrievalPolicyInput): Promise<T>;
    setVaultAccessPolicy<T>(params: SetVaultAccessPolicyInput): Promise<T>;
    setVaultNotifications<T>(params: SetVaultNotificationsInput): Promise<T>;
    uploadArchive<T>(params: UploadArchiveInput): Promise<T>;
    uploadMultipartPart<T>(params: UploadMultipartPartInput): Promise<T>;
}
//# sourceMappingURL=Glacier.d.ts.map