export interface Address {
    /** The unique ID for an address. */
    AddressId?: string;
    /** The name of a person to receive a Snow device at an address. */
    Name?: string;
    /** The name of the company to receive a Snow device at an address. */
    Company?: string;
    /** The first line in a street address that a Snow device is to be delivered to. */
    Street1?: string;
    /** The second line in a street address that a Snow device is to be delivered to. */
    Street2?: string;
    /** The third line in a street address that a Snow device is to be delivered to. */
    Street3?: string;
    /** The city in an address that a Snow device is to be delivered to. */
    City?: string;
    /** The state or province in an address that a Snow device is to be delivered to. */
    StateOrProvince?: string;
    /** This field is no longer used and the value is ignored. */
    PrefectureOrDistrict?: string;
    /** This field is no longer used and the value is ignored. */
    Landmark?: string;
    /** The country in an address that a Snow device is to be delivered to. */
    Country?: string;
    /** The postal code in an address that a Snow device is to be delivered to. */
    PostalCode?: string;
    /** The phone number associated with an address that a Snow device is to be delivered to. */
    PhoneNumber?: string;
    /** If the address you are creating is a primary address, then set this option to true. This field is not supported in most regions. */
    IsRestricted?: boolean;
    /** Differentiates between delivery address and pickup address in the customer account. Provided at job creation. */
    Type?: 'CUST_PICKUP' | 'AWS_SHIP';
}
export interface JobResource {
    /** An array of S3Resource objects. */
    S3Resources?: any[];
    /** The Python-language Lambda functions for this job. */
    LambdaResources?: any[];
    /** The Amazon Machine Images (AMIs) associated with this job. */
    Ec2AmiResources?: any[];
}
export interface NFSOnDeviceServiceConfiguration {
    /** The maximum NFS storage for one Snow Family device. */
    StorageLimit?: number;
    /** The scale unit of the NFS storage on the device. Valid values: TB. */
    StorageUnit?: 'TB';
}
export interface TGWOnDeviceServiceConfiguration {
    /** The maximum number of virtual tapes to store on one Snow Family device. Due to physical resource limitations, this value must be set to 80 for Snowball Edge. */
    StorageLimit?: number;
    /** The scale unit of the virtual tapes on the device. */
    StorageUnit?: 'TB';
}
export interface EKSOnDeviceServiceConfiguration {
    /** The Kubernetes version for EKS Anywhere on the Snow Family device. */
    KubernetesVersion?: string;
    /** The optional version of EKS Anywhere on the Snow Family device. */
    EKSAnywhereVersion?: string;
}
export interface S3OnDeviceServiceConfiguration {
    /** If the specified storage limit value matches storage limit of one of the defined configurations, that configuration will be used. If the specified storage limit value does not match any defined config */
    StorageLimit?: number;
    /** Storage unit. Currently the only supported unit is TB. */
    StorageUnit?: 'TB';
    /** Applicable when creating a cluster. Specifies how many nodes are needed for Amazon S3 compatible storage on Snow family devices. If specified, the other input can be omitted. */
    ServiceSize?: number;
    /** >Fault tolerance level of the cluster. This indicates the number of nodes that can go down without degrading the performance of the cluster. This additional input helps when the specified StorageLimit */
    FaultTolerance?: number;
}
export interface OnDeviceServiceConfiguration {
    /** Represents the NFS (Network File System) service on a Snow Family device. */
    NFSOnDeviceService?: NFSOnDeviceServiceConfiguration;
    /** Represents the Storage Gateway service Tape Gateway type on a Snow Family device. */
    TGWOnDeviceService?: TGWOnDeviceServiceConfiguration;
    /** The configuration of EKS Anywhere on the Snow Family device. */
    EKSOnDeviceService?: EKSOnDeviceServiceConfiguration;
    /** Configuration for Amazon S3 compatible storage on Snow family devices. */
    S3OnDeviceService?: S3OnDeviceServiceConfiguration;
}
export interface Notification {
    /** The new SNS TopicArn that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API action. You can subscribe email addresses  */
    SnsTopicARN?: string;
    /** The list of job states that will trigger a notification for this job. */
    JobStatesToNotify?: 'New' | 'PreparingAppliance' | 'PreparingShipment' | 'InTransitToCustomer' | 'WithCustomer' | 'InTransitToAWS' | 'WithAWSSortingFacility' | 'WithAWS' | 'InProgress' | 'Complete' | 'Cancelled' | 'Listing' | 'Pending'[];
    /** Any change in job state will trigger a notification for this job. */
    NotifyAll?: boolean;
    /** Used to send SNS notifications for the person picking up the device (identified during job creation). */
    DevicePickupSnsTopicARN?: string;
}
export interface INDTaxDocuments {
    /** The Goods and Services Tax (GST) documents required in Amazon Web Services Region in India. */
    GSTIN?: string;
}
export interface TaxDocuments {
    IND?: INDTaxDocuments;
}
export interface SnowconeDeviceConfiguration {
    /** Configures the wireless connection for the Snowball Edge device. */
    WirelessConnection?: any;
}
export interface DeviceConfiguration {
    /** Returns information about the device configuration for an Snowball Edge job. */
    SnowconeDeviceConfiguration?: SnowconeDeviceConfiguration;
}
export interface PickupDetails {
    /** The name of the person picking up the device. */
    Name?: string;
    /** The phone number of the person picking up the device. */
    PhoneNumber?: string;
    /** The email address of the person picking up the device. */
    Email?: string;
    /** The number on the credential identifying the person picking up the device. */
    IdentificationNumber?: string;
    /** Expiration date of the credential identifying the person picking up the device. */
    IdentificationExpirationDate?: string;
    /** Organization that issued the credential identifying the person picking up the device. */
    IdentificationIssuingOrg?: string;
    /** The unique ID for a device that will be picked up. */
    DevicePickupId?: string;
}
export interface DependentService {
    /** The name of the dependent service. */
    ServiceName?: 'KUBERNETES' | 'EKS_ANYWHERE';
    /** The version of the dependent service. */
    ServiceVersion?: any;
}
export interface CancelClusterInput {
    /** The 39-character ID for the cluster that you want to cancel, for example CID123e4567-e89b-12d3-a456-426655440000. */
    ClusterId: string;
}
export interface CancelJobInput {
    /** The 39-character job ID for the job that you want to cancel, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
}
export interface CreateAddressInput {
    /** The address that you want the Snow device shipped to. */
    Address: Address;
}
export interface CreateClusterInput {
    /** The ID for the address that you want the cluster shipped to. */
    AddressId: string;
    /** The type of job for this cluster. Currently, the only job type supported for clusters is LOCAL_USE. For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-ty */
    JobType: 'IMPORT' | 'EXPORT' | 'LOCAL_USE';
    /** The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while  */
    ShippingOption: 'SECOND_DAY' | 'NEXT_DAY' | 'EXPRESS' | 'STANDARD';
    /** The type of Snow Family devices to use for this cluster. For cluster jobs, Amazon Web Services Snow Family currently supports only the EDGE device type. For more information, see "https://docs.aws.ama */
    SnowballType: 'STANDARD' | 'EDGE' | 'EDGE_C' | 'EDGE_CG' | 'EDGE_S' | 'SNC1_HDD' | 'SNC1_SSD' | 'V3_5C' | 'V3_5S' | 'RACK_5U_C';
    /** An optional description of this specific cluster, for example Environmental Data Cluster-01. */
    Description?: string;
    /** Force to create cluster when user attempts to overprovision or underprovision a cluster. A cluster is overprovisioned or underprovisioned if the initial size of the cluster is more (overprovisioned) o */
    ForceCreateJobs?: boolean;
    /** The forwarding address ID for a cluster. This field is not supported in most regions. */
    ForwardingAddressId?: string;
    /** If provided, each job will be automatically created and associated with the new cluster. If not provided, will be treated as 0. */
    InitialClusterSize?: number;
    /** The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN values are created by using the CreateKey API action in Key Management Service (KMS). */
    KmsKeyARN?: string;
    /** Lists long-term pricing id that will be used to associate with jobs automatically created for the new cluster. */
    LongTermPricingIds?: string[];
    /** The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster. */
    Notification?: Notification;
    /** Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family device clusters support Amazon S3 and NFS */
    OnDeviceServiceConfiguration?: OnDeviceServiceConfiguration;
    /** Allows you to securely operate and manage Snow devices in a cluster remotely from outside of your internal network. When set to INSTALLED_AUTOSTART, remote management will automatically be available w */
    RemoteManagement?: 'INSTALLED_ONLY' | 'INSTALLED_AUTOSTART' | 'NOT_INSTALLED';
    /** The resources associated with the cluster job. These resources include Amazon S3 buckets and optional Lambda functions written in the Python language. */
    Resources?: JobResource;
    /** The RoleARN that you want to associate with this cluster. RoleArn values are created by using the CreateRole API action in Identity and Access Management (IAM). */
    RoleARN?: string;
    /** If your job is being created in one of the US regions, you have the option of specifying what size Snow device you'd like for this job. In all other regions, Snowballs come with 80 TB in storage capac */
    SnowballCapacityPreference?: 'T50' | 'T80' | 'T100' | 'T42' | 'T98' | 'T8' | 'T14' | 'T32' | 'NoPreference' | 'T240' | 'T13';
    /** The tax documents required in your Amazon Web Services Region. */
    TaxDocuments?: TaxDocuments;
}
export interface CreateJobInput {
    /** The ID for the address that you want the Snow device shipped to. */
    AddressId?: string;
    /** The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this clusterId value. The other job attributes are inherited from the cluster. */
    ClusterId?: string;
    /** Defines an optional description of this specific job, for example Important Photos 2016-08-11. */
    Description?: string;
    /** Defines the device configuration for an Snowball Edge job. For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" (Snow Family Devices and Capaci */
    DeviceConfiguration?: DeviceConfiguration;
    /** The forwarding address ID for a job. This field is not supported in most Regions. */
    ForwardingAddressId?: string;
    /** The highest impact level of data that will be stored or processed on the device, provided at job creation. */
    ImpactLevel?: 'IL2' | 'IL4' | 'IL5' | 'IL6' | 'IL99';
    /** Defines the type of job that you're creating. */
    JobType?: 'IMPORT' | 'EXPORT' | 'LOCAL_USE';
    /** The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey Key Management Service (KMS) API action. */
    KmsKeyARN?: string;
    /** The ID of the long-term pricing type for the device. */
    LongTermPricingId?: string;
    /** Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job. */
    Notification?: Notification;
    /** Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family supports Amazon S3 and NFS (Network File  */
    OnDeviceServiceConfiguration?: OnDeviceServiceConfiguration;
    /** Information identifying the person picking up the device. */
    PickupDetails?: PickupDetails;
    /** Allows you to securely operate and manage Snowcone devices remotely from outside of your internal network. When set to INSTALLED_AUTOSTART, remote management will automatically be available when the d */
    RemoteManagement?: 'INSTALLED_ONLY' | 'INSTALLED_AUTOSTART' | 'NOT_INSTALLED';
    /** Defines the Amazon S3 buckets associated with this job. With IMPORT jobs, you specify the bucket or buckets that your transferred data will be imported into. With EXPORT jobs, you specify the bucket o */
    Resources?: JobResource;
    /** The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole Identity and Access Management (IAM) API action. */
    RoleARN?: string;
    /** The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snow device, rather it represents how quickly the Snow device moves to its destination while in transit. Regional sh */
    ShippingOption?: 'SECOND_DAY' | 'NEXT_DAY' | 'EXPRESS' | 'STANDARD';
    /** If your job is being created in one of the US regions, you have the option of specifying what size Snow device you'd like for this job. In all other regions, Snowballs come with 80 TB in storage capac */
    SnowballCapacityPreference?: 'T50' | 'T80' | 'T100' | 'T42' | 'T98' | 'T8' | 'T14' | 'T32' | 'NoPreference' | 'T240' | 'T13';
    /** The type of Snow Family devices to use for this job. For cluster jobs, Amazon Web Services Snow Family currently supports only the EDGE device type. The type of Amazon Web Services Snow device to use  */
    SnowballType?: 'STANDARD' | 'EDGE' | 'EDGE_C' | 'EDGE_CG' | 'EDGE_S' | 'SNC1_HDD' | 'SNC1_SSD' | 'V3_5C' | 'V3_5S' | 'RACK_5U_C';
    /** The tax documents required in your Amazon Web Services Region. */
    TaxDocuments?: TaxDocuments;
}
export interface CreateLongTermPricingInput {
    /** The type of long-term pricing option you want for the device, either 1-year or 3-year long-term pricing. */
    LongTermPricingType: 'OneYear' | 'ThreeYear' | 'OneMonth';
    /** The type of Snow Family devices to use for the long-term pricing job. */
    SnowballType: 'STANDARD' | 'EDGE' | 'EDGE_C' | 'EDGE_CG' | 'EDGE_S' | 'SNC1_HDD' | 'SNC1_SSD' | 'V3_5C' | 'V3_5S' | 'RACK_5U_C';
    /** Specifies whether the current long-term pricing type for the device should be renewed. */
    IsLongTermPricingAutoRenew?: boolean;
}
export interface CreateReturnShippingLabelInput {
    /** The ID for a job that you want to create the return shipping label for; for example, JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
    /** The shipping speed for a particular job. This speed doesn't dictate how soon the device is returned to Amazon Web Services. This speed represents how quickly it moves to its destination while in trans */
    ShippingOption?: 'SECOND_DAY' | 'NEXT_DAY' | 'EXPRESS' | 'STANDARD';
}
export interface DescribeAddressInput {
    /** The automatically generated ID for a specific address. */
    AddressId: string;
}
export interface DescribeAddressesInput {
    /** The number of ADDRESS objects to return. */
    MaxResults?: number;
    /** HTTP requests are stateless. To identify what object comes "next" in the list of ADDRESS objects, you have the option of specifying a value for NextToken as the starting point for your list of returne */
    NextToken?: string;
}
export interface DescribeClusterInput {
    /** The automatically generated ID for a cluster. */
    ClusterId: string;
}
export interface DescribeJobInput {
    /** The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
}
export interface DescribeReturnShippingLabelInput {
    /** The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
}
export interface GetJobManifestInput {
    /** The ID for a job that you want to get the manifest file for, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
}
export interface GetJobUnlockCodeInput {
    /** The ID for the job that you want to get the UnlockCode value for, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
}
export interface GetSoftwareUpdatesInput {
    /** The ID for a job that you want to get the software update file for, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
}
export interface ListClusterJobsInput {
    /** The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000. */
    ClusterId: string;
    /** The number of JobListEntry objects to return. */
    MaxResults?: number;
    /** HTTP requests are stateless. To identify what object comes "next" in the list of JobListEntry objects, you have the option of specifying NextToken as the starting point for your returned list. */
    NextToken?: string;
}
export interface ListClustersInput {
    /** The number of ClusterListEntry objects to return. */
    MaxResults?: number;
    /** HTTP requests are stateless. To identify what object comes "next" in the list of ClusterListEntry objects, you have the option of specifying NextToken as the starting point for your returned list. */
    NextToken?: string;
}
export interface ListCompatibleImagesInput {
    /** The maximum number of results for the list of compatible images. Currently, a Snowball Edge device can store 10 AMIs. */
    MaxResults?: number;
    /** HTTP requests are stateless. To identify what object comes "next" in the list of compatible images, you can specify a value for NextToken as the starting point for your list of returned images. */
    NextToken?: string;
}
export interface ListJobsInput {
    /** The number of JobListEntry objects to return. */
    MaxResults?: number;
    /** HTTP requests are stateless. To identify what object comes "next" in the list of JobListEntry objects, you have the option of specifying NextToken as the starting point for your returned list. */
    NextToken?: string;
}
export interface ListLongTermPricingInput {
    /** The maximum number of ListLongTermPricing objects to return. */
    MaxResults?: number;
    /** Because HTTP requests are stateless, this is the starting point for your next list of ListLongTermPricing to return. */
    NextToken?: string;
}
export interface ListPickupLocationsInput {
    /** The maximum number of locations to list per page. */
    MaxResults?: number;
    /** HTTP requests are stateless. To identify what object comes "next" in the list of ListPickupLocationsRequest objects, you have the option of specifying NextToken as the starting point for your returned */
    NextToken?: string;
}
export interface ListServiceVersionsInput {
    /** The name of the service for which you're requesting supported versions. */
    ServiceName: 'KUBERNETES' | 'EKS_ANYWHERE';
    /** A list of names and versions of dependant services of the requested service. */
    DependentServices?: DependentService[];
    /** The maximum number of ListServiceVersions objects to return. */
    MaxResults?: number;
    /** Because HTTP requests are stateless, this is the starting point for the next list of returned ListServiceVersionsRequest versions. */
    NextToken?: string;
}
export interface UpdateClusterInput {
    /** The cluster ID of the cluster that you want to update, for example CID123e4567-e89b-12d3-a456-426655440000. */
    ClusterId: string;
    /** The ID of the updated Address object. */
    AddressId?: string;
    /** The updated description of this cluster. */
    Description?: string;
    /** The updated ID for the forwarding address for a cluster. This field is not supported in most regions. */
    ForwardingAddressId?: string;
    /** The new or updated Notification object. */
    Notification?: Notification;
    /** Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family device clusters support Amazon S3 and NFS */
    OnDeviceServiceConfiguration?: OnDeviceServiceConfiguration;
    /** The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects. */
    Resources?: JobResource;
    /** The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the CreateRole API action in Identity and Access Management (IAM). */
    RoleARN?: string;
    /** The updated shipping option value of this cluster's ShippingDetails object. */
    ShippingOption?: 'SECOND_DAY' | 'NEXT_DAY' | 'EXPRESS' | 'STANDARD';
}
export interface UpdateJobInput {
    /** The job ID of the job that you want to update, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
    /** The ID of the updated Address object. */
    AddressId?: string;
    /** The updated description of this job's JobMetadata object. */
    Description?: string;
    /** The updated ID for the forwarding address for a job. This field is not supported in most regions. */
    ForwardingAddressId?: string;
    /** The new or updated Notification object. */
    Notification?: Notification;
    /** Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family supports Amazon S3 and NFS (Network File  */
    OnDeviceServiceConfiguration?: OnDeviceServiceConfiguration;
    PickupDetails?: PickupDetails;
    /** The updated JobResource object, or the updated JobResource object. */
    Resources?: JobResource;
    /** The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRoleIdentity and Access Management (IAM) API action. */
    RoleARN?: string;
    /** The updated shipping option value of this job's ShippingDetails object. */
    ShippingOption?: 'SECOND_DAY' | 'NEXT_DAY' | 'EXPRESS' | 'STANDARD';
    /** The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US regions. For more information, see "https://docs.aws.amazon.com/snowball/lates */
    SnowballCapacityPreference?: 'T50' | 'T80' | 'T100' | 'T42' | 'T98' | 'T8' | 'T14' | 'T32' | 'NoPreference' | 'T240' | 'T13';
}
export interface UpdateJobShipmentStateInput {
    /** The job ID of the job whose shipment date you want to update, for example JID123e4567-e89b-12d3-a456-426655440000. */
    JobId: string;
    /** The state of a device when it is being shipped. Set to RECEIVED when the device arrives at your location. Set to RETURNED when you have returned the device to Amazon Web Services. */
    ShipmentState: 'RECEIVED' | 'RETURNED';
}
export interface UpdateLongTermPricingInput {
    /** The ID of the long-term pricing type for the device. */
    LongTermPricingId: string;
    /** If set to true, specifies that the current long-term pricing type for the device should be automatically renewed before the long-term pricing contract expires. */
    IsLongTermPricingAutoRenew?: boolean;
    /** Specifies that a device that is ordered with long-term pricing should be replaced with a new device. */
    ReplacementJob?: string;
}
/** Snowball service binding for Step Functions SDK integrations. */
export declare class Snowball {
    constructor();
    cancelCluster<T>(params: CancelClusterInput): Promise<T>;
    cancelJob<T>(params: CancelJobInput): Promise<T>;
    createAddress<T>(params: CreateAddressInput): Promise<T>;
    createCluster<T>(params: CreateClusterInput): Promise<T>;
    createJob<T>(params: CreateJobInput): Promise<T>;
    createLongTermPricing<T>(params: CreateLongTermPricingInput): Promise<T>;
    createReturnShippingLabel<T>(params: CreateReturnShippingLabelInput): Promise<T>;
    describeAddress<T>(params: DescribeAddressInput): Promise<T>;
    describeAddresses<T>(params: DescribeAddressesInput): Promise<T>;
    describeCluster<T>(params: DescribeClusterInput): Promise<T>;
    describeJob<T>(params: DescribeJobInput): Promise<T>;
    describeReturnShippingLabel<T>(params: DescribeReturnShippingLabelInput): Promise<T>;
    getJobManifest<T>(params: GetJobManifestInput): Promise<T>;
    getJobUnlockCode<T>(params: GetJobUnlockCodeInput): Promise<T>;
    getSnowballUsage<T>(params: Record<string, any>): Promise<T>;
    getSoftwareUpdates<T>(params: GetSoftwareUpdatesInput): Promise<T>;
    listClusterJobs<T>(params: ListClusterJobsInput): Promise<T>;
    listClusters<T>(params: ListClustersInput): Promise<T>;
    listCompatibleImages<T>(params: ListCompatibleImagesInput): Promise<T>;
    listJobs<T>(params: ListJobsInput): Promise<T>;
    listLongTermPricing<T>(params: ListLongTermPricingInput): Promise<T>;
    listPickupLocations<T>(params: ListPickupLocationsInput): Promise<T>;
    listServiceVersions<T>(params: ListServiceVersionsInput): Promise<T>;
    updateCluster<T>(params: UpdateClusterInput): Promise<T>;
    updateJob<T>(params: UpdateJobInput): Promise<T>;
    updateJobShipmentState<T>(params: UpdateJobShipmentStateInput): Promise<T>;
    updateLongTermPricing<T>(params: UpdateLongTermPricingInput): Promise<T>;
}
//# sourceMappingURL=Snowball.d.ts.map