export interface LineItemRequest {
    /** The ID of the catalog item. */
    CatalogItemId?: string;
    /** The quantity of a line item request. */
    Quantity?: number;
}
export interface Address {
    /** The name of the contact. */
    ContactName: string;
    /** The phone number of the contact. */
    ContactPhoneNumber: string;
    /** The first line of the address. */
    AddressLine1: string;
    /** The second line of the address. */
    AddressLine2?: string;
    /** The third line of the address. */
    AddressLine3?: string;
    /** The city for the address. */
    City: string;
    /** The state for the address. */
    StateOrRegion: string;
    /** The district or county for the address. */
    DistrictOrCounty?: string;
    /** The postal code for the address. */
    PostalCode: string;
    /** The ISO-3166 two-letter country code for the address. */
    CountryCode: string;
    /** The municipality for the address. */
    Municipality?: string;
}
export interface RackPhysicalProperties {
    /** The power draw available at the hardware placement position for the rack. */
    PowerDrawKva?: 'POWER_5_KVA' | 'POWER_10_KVA' | 'POWER_15_KVA' | 'POWER_30_KVA';
    /** The power option that you can provide for hardware. */
    PowerPhase?: 'SINGLE_PHASE' | 'THREE_PHASE';
    /** The power connector for the hardware. */
    PowerConnector?: 'L6_30P' | 'IEC309' | 'AH530P7W' | 'AH532P6W' | 'CS8365C';
    /** The position of the power feed. */
    PowerFeedDrop?: 'ABOVE_RACK' | 'BELOW_RACK';
    /** The uplink speed the rack supports for the connection to the Region. */
    UplinkGbps?: 'UPLINK_1G' | 'UPLINK_10G' | 'UPLINK_40G' | 'UPLINK_100G';
    /** The number of uplinks each Outpost network device. */
    UplinkCount?: 'UPLINK_COUNT_1' | 'UPLINK_COUNT_2' | 'UPLINK_COUNT_3' | 'UPLINK_COUNT_4' | 'UPLINK_COUNT_5' | 'UPLINK_COUNT_6' | 'UPLINK_COUNT_7' | 'UPLINK_COUNT_8' | 'UPLINK_COUNT_12' | 'UPLINK_COUNT_16';
    /** The type of fiber used to attach the Outpost to the network. */
    FiberOpticCableType?: 'SINGLE_MODE' | 'MULTI_MODE';
    /** The type of optical standard used to attach the Outpost to the network. This field is dependent on uplink speed, fiber type, and distance to the upstream device. For more information about networking  */
    OpticalStandard?: 'OPTIC_10GBASE_SR' | 'OPTIC_10GBASE_IR' | 'OPTIC_10GBASE_LR' | 'OPTIC_40GBASE_SR' | 'OPTIC_40GBASE_ESR' | 'OPTIC_40GBASE_IR4_LR4L' | 'OPTIC_40GBASE_LR4' | 'OPTIC_100GBASE_SR4' | 'OPTIC_100GBASE_CWDM4' | 'OPTIC_100GBASE_LR4' | 'OPTIC_100G_PSM4_MSA' | 'OPTIC_1000BASE_LX' | 'OPTIC_1000BASE_SX';
    /** The maximum rack weight that this site can support. NO_LIMIT is over 2000 lbs (907 kg). */
    MaximumSupportedWeightLbs?: 'NO_LIMIT' | 'MAX_1400_LBS' | 'MAX_1600_LBS' | 'MAX_1800_LBS' | 'MAX_2000_LBS';
}
export interface InstanceTypeCapacity {
    /** The instance type of the hosts. */
    InstanceType: string;
    /** The number of instances for the specified instance type. */
    Count: number;
}
export interface InstancesToExclude {
    /** List of user-specified instances that must not be stopped. */
    Instances?: string[];
    /** IDs of the accounts that own each instance that must not be stopped. */
    AccountIds?: string[];
    /** Names of the services that own each instance that must not be stopped in order to free up the capacity needed to run the capacity task. */
    Services?: 'AWS' | 'EC2' | 'ELASTICACHE' | 'ELB' | 'RDS' | 'ROUTE53'[];
}
export interface CancelCapacityTaskInput {
    /** ID of the capacity task that you want to cancel. */
    CapacityTaskId: string;
    /** ID or ARN of the Outpost associated with the capacity task that you want to cancel. */
    OutpostIdentifier: string;
}
export interface CancelOrderInput {
    /** The ID of the order. */
    OrderId: string;
}
export interface CreateOrderInput {
    /** The ID or the Amazon Resource Name (ARN) of the Outpost. */
    OutpostIdentifier: string;
    /** The payment option. */
    PaymentOption: 'ALL_UPFRONT' | 'NO_UPFRONT' | 'PARTIAL_UPFRONT';
    /** The line items that make up the order. */
    LineItems?: LineItemRequest[];
    /** The payment terms. */
    PaymentTerm?: 'THREE_YEARS' | 'ONE_YEAR' | 'FIVE_YEARS';
}
export interface CreateOutpostInput {
    Name: string;
    /** The ID or the Amazon Resource Name (ARN) of the site. */
    SiteId: string;
    AvailabilityZone?: string;
    AvailabilityZoneId?: string;
    Description?: string;
    /** The type of hardware for this Outpost. */
    SupportedHardwareType?: 'RACK' | 'SERVER';
    /** The tags to apply to the Outpost. */
    Tags?: Record<string, string>;
}
export interface CreateSiteInput {
    Name: string;
    Description?: string;
    /** Additional information that you provide about site access requirements, electrician scheduling, personal protective equipment, or regulation of equipment materials that could affect your installation  */
    Notes?: string;
    /** The location to install and power on the hardware. This address might be different from the shipping address. */
    OperatingAddress?: Address;
    /** Information about the physical and logistical details for the rack at this site. For more information about hardware requirements for racks, see Network readiness checklist in the Amazon Web Services  */
    RackPhysicalProperties?: RackPhysicalProperties;
    /** The location to ship the hardware. This address might be different from the operating address. */
    ShippingAddress?: Address;
    /** The tags to apply to a site. */
    Tags?: Record<string, string>;
}
export interface DeleteOutpostInput {
    /** The ID or ARN of the Outpost. */
    OutpostId: string;
}
export interface DeleteSiteInput {
    /** The ID or the Amazon Resource Name (ARN) of the site. */
    SiteId: string;
}
export interface GetCapacityTaskInput {
    /** ID of the capacity task. */
    CapacityTaskId: string;
    /** ID or ARN of the Outpost associated with the specified capacity task. */
    OutpostIdentifier: string;
}
export interface GetCatalogItemInput {
    /** The ID of the catalog item. */
    CatalogItemId: string;
}
export interface GetConnectionInput {
    /** The ID of the connection. */
    ConnectionId: string;
}
export interface GetOrderInput {
    /** The ID of the order. */
    OrderId: string;
}
export interface GetOutpostInput {
    /** The ID or ARN of the Outpost. */
    OutpostId: string;
}
export interface GetOutpostBillingInformationInput {
    /** The ID or ARN of the Outpost. */
    OutpostIdentifier: string;
    MaxResults?: number;
    NextToken?: string;
}
export interface GetOutpostInstanceTypesInput {
    /** The ID or ARN of the Outpost. */
    OutpostId: string;
    MaxResults?: number;
    NextToken?: string;
}
export interface GetOutpostSupportedInstanceTypesInput {
    /** The ID or ARN of the Outpost. */
    OutpostIdentifier: string;
    /** The ID of the Outpost asset. An Outpost asset can be a single server within an Outposts rack or an Outposts server configuration. */
    AssetId?: string;
    MaxResults?: number;
    NextToken?: string;
    /** The ID for the Amazon Web Services Outposts order. */
    OrderId?: string;
}
export interface GetSiteInput {
    /** The ID or the Amazon Resource Name (ARN) of the site. */
    SiteId: string;
}
export interface GetSiteAddressInput {
    /** The type of the address you request. */
    AddressType: 'SHIPPING_ADDRESS' | 'OPERATING_ADDRESS';
    /** The ID or the Amazon Resource Name (ARN) of the site. */
    SiteId: string;
}
export interface ListAssetInstancesInput {
    /** The ID of the Outpost. */
    OutpostIdentifier: string;
    /** Filters the results by account ID. */
    AccountIdFilter?: string[];
    /** Filters the results by asset ID. */
    AssetIdFilter?: string[];
    /** Filters the results by Amazon Web Services service. */
    AwsServiceFilter?: 'AWS' | 'EC2' | 'ELASTICACHE' | 'ELB' | 'RDS' | 'ROUTE53'[];
    /** Filters the results by instance ID. */
    InstanceTypeFilter?: string[];
    MaxResults?: number;
    NextToken?: string;
}
export interface ListAssetsInput {
    /** The ID or the Amazon Resource Name (ARN) of the Outpost. */
    OutpostIdentifier: string;
    /** Filters the results by the host ID of a Dedicated Host. */
    HostIdFilter?: string[];
    MaxResults?: number;
    NextToken?: string;
    /** Filters the results by state. */
    StatusFilter?: 'ACTIVE' | 'RETIRING' | 'ISOLATED'[];
}
export interface ListBlockingInstancesForCapacityTaskInput {
    /** The ID of the capacity task. */
    CapacityTaskId: string;
    /** The ID or ARN of the Outpost associated with the specified capacity task. */
    OutpostIdentifier: string;
    MaxResults?: number;
    NextToken?: string;
}
export interface ListCapacityTasksInput {
    /** A list of statuses. For example, REQUESTED or WAITING_FOR_EVACUATION. */
    CapacityTaskStatusFilter?: 'REQUESTED' | 'IN_PROGRESS' | 'FAILED' | 'COMPLETED' | 'WAITING_FOR_EVACUATION' | 'CANCELLATION_IN_PROGRESS' | 'CANCELLED'[];
    MaxResults?: number;
    NextToken?: string;
    /** Filters the results by an Outpost ID or an Outpost ARN. */
    OutpostIdentifierFilter?: string;
}
export interface ListCatalogItemsInput {
    /** Filters the results by EC2 family (for example, M5). */
    EC2FamilyFilter?: string[];
    /** Filters the results by item class. */
    ItemClassFilter?: 'RACK' | 'SERVER'[];
    MaxResults?: number;
    NextToken?: string;
    /** Filters the results by storage option. */
    SupportedStorageFilter?: 'EBS' | 'S3'[];
}
export interface ListOrdersInput {
    MaxResults?: number;
    NextToken?: string;
    /** The ID or the Amazon Resource Name (ARN) of the Outpost. */
    OutpostIdentifierFilter?: string;
}
export interface ListOutpostsInput {
    /** Filters the results by Availability Zone (for example, us-east-1a). */
    AvailabilityZoneFilter?: string[];
    /** Filters the results by AZ ID (for example, use1-az1). */
    AvailabilityZoneIdFilter?: string[];
    /** Filters the results by the lifecycle status. */
    LifeCycleStatusFilter?: string[];
    MaxResults?: number;
    NextToken?: string;
}
export interface ListSitesInput {
    MaxResults?: number;
    NextToken?: string;
    /** Filters the results by city. */
    OperatingAddressCityFilter?: string[];
    /** Filters the results by country code. */
    OperatingAddressCountryCodeFilter?: string[];
    /** Filters the results by state or region. */
    OperatingAddressStateOrRegionFilter?: string[];
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
}
export interface StartCapacityTaskInput {
    /** The instance pools specified in the capacity task. */
    InstancePools: InstanceTypeCapacity[];
    /** The ID or ARN of the Outposts associated with the specified capacity task. */
    OutpostIdentifier: string;
    /** The ID of the Outpost asset. An Outpost asset can be a single server within an Outposts rack or an Outposts server configuration. */
    AssetId?: string;
    /** You can request a dry run to determine if the instance type and instance size changes is above or below available instance capacity. Requesting a dry run does not make any changes to your plan. */
    DryRun?: boolean;
    /** List of user-specified running instances that must not be stopped in order to free up the capacity needed to run the capacity task. */
    InstancesToExclude?: InstancesToExclude;
    /** The ID of the Amazon Web Services Outposts order associated with the specified capacity task. */
    OrderId?: string;
    /** Specify one of the following options in case an instance is blocking the capacity task from running. WAIT_FOR_EVACUATION - Checks every 10 minutes over 48 hours to determine if instances have stopped  */
    TaskActionOnBlockingInstances?: 'WAIT_FOR_EVACUATION' | 'FAIL_TASK';
}
export interface StartConnectionInput {
    /** The ID of the Outpost server. */
    AssetId: string;
    /** The public key of the client. */
    ClientPublicKey: string;
    /** The device index of the network interface on the Outpost server. */
    NetworkInterfaceDeviceIndex: number;
    /** The serial number of the dongle. */
    DeviceSerialNumber?: string;
}
export interface StartOutpostDecommissionInput {
    /** The ID or ARN of the Outpost that you want to decommission. */
    OutpostIdentifier: string;
    /** Validates the request without starting the decommission process. */
    ValidateOnly?: boolean;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** The tags to add to the resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** The tag keys. */
    TagKeys: string[];
}
export interface UpdateOutpostInput {
    /** The ID or ARN of the Outpost. */
    OutpostId: string;
    Description?: string;
    Name?: string;
    /** The type of hardware for this Outpost. */
    SupportedHardwareType?: 'RACK' | 'SERVER';
}
export interface UpdateSiteInput {
    /** The ID or the Amazon Resource Name (ARN) of the site. */
    SiteId: string;
    Description?: string;
    Name?: string;
    /** Notes about a site. */
    Notes?: string;
}
export interface UpdateSiteAddressInput {
    /** The address for the site. */
    Address: Address;
    /** The type of the address. */
    AddressType: 'SHIPPING_ADDRESS' | 'OPERATING_ADDRESS';
    /** The ID or the Amazon Resource Name (ARN) of the site. */
    SiteId: string;
}
export interface UpdateSiteRackPhysicalPropertiesInput {
    /** The ID or the Amazon Resource Name (ARN) of the site. */
    SiteId: string;
    /** The type of fiber that you will use to attach the Outpost to your network. */
    FiberOpticCableType?: 'SINGLE_MODE' | 'MULTI_MODE';
    /** The maximum rack weight that this site can support. NO_LIMIT is over 2000lbs. */
    MaximumSupportedWeightLbs?: 'NO_LIMIT' | 'MAX_1400_LBS' | 'MAX_1600_LBS' | 'MAX_1800_LBS' | 'MAX_2000_LBS';
    /** The type of optical standard that you will use to attach the Outpost to your network. This field is dependent on uplink speed, fiber type, and distance to the upstream device. For more information abo */
    OpticalStandard?: 'OPTIC_10GBASE_SR' | 'OPTIC_10GBASE_IR' | 'OPTIC_10GBASE_LR' | 'OPTIC_40GBASE_SR' | 'OPTIC_40GBASE_ESR' | 'OPTIC_40GBASE_IR4_LR4L' | 'OPTIC_40GBASE_LR4' | 'OPTIC_100GBASE_SR4' | 'OPTIC_100GBASE_CWDM4' | 'OPTIC_100GBASE_LR4' | 'OPTIC_100G_PSM4_MSA' | 'OPTIC_1000BASE_LX' | 'OPTIC_1000BASE_SX';
    /** The power connector that Amazon Web Services should plan to provide for connections to the hardware. Note the correlation between PowerPhase and PowerConnector. Single-phase AC feed L6-30P – (common i */
    PowerConnector?: 'L6_30P' | 'IEC309' | 'AH530P7W' | 'AH532P6W' | 'CS8365C';
    /** The power draw, in kVA, available at the hardware placement position for the rack. */
    PowerDrawKva?: 'POWER_5_KVA' | 'POWER_10_KVA' | 'POWER_15_KVA' | 'POWER_30_KVA';
    /** Indicates whether the power feed comes above or below the rack. */
    PowerFeedDrop?: 'ABOVE_RACK' | 'BELOW_RACK';
    /** The power option that you can provide for hardware. Single-phase AC feed: 200 V to 277 V, 50 Hz or 60 Hz Three-phase AC feed: 346 V to 480 V, 50 Hz or 60 Hz */
    PowerPhase?: 'SINGLE_PHASE' | 'THREE_PHASE';
    /** Racks come with two Outpost network devices. Depending on the supported uplink speed at the site, the Outpost network devices provide a variable number of uplinks. Specify the number of uplinks for ea */
    UplinkCount?: 'UPLINK_COUNT_1' | 'UPLINK_COUNT_2' | 'UPLINK_COUNT_3' | 'UPLINK_COUNT_4' | 'UPLINK_COUNT_5' | 'UPLINK_COUNT_6' | 'UPLINK_COUNT_7' | 'UPLINK_COUNT_8' | 'UPLINK_COUNT_12' | 'UPLINK_COUNT_16';
    /** The uplink speed the rack should support for the connection to the Region. */
    UplinkGbps?: 'UPLINK_1G' | 'UPLINK_10G' | 'UPLINK_40G' | 'UPLINK_100G';
}
/** Outposts service binding for Step Functions SDK integrations. */
export declare class Outposts {
    constructor();
    cancelCapacityTask<T>(params: CancelCapacityTaskInput): Promise<T>;
    cancelOrder<T>(params: CancelOrderInput): Promise<T>;
    createOrder<T>(params: CreateOrderInput): Promise<T>;
    createOutpost<T>(params: CreateOutpostInput): Promise<T>;
    createSite<T>(params: CreateSiteInput): Promise<T>;
    deleteOutpost<T>(params: DeleteOutpostInput): Promise<T>;
    deleteSite<T>(params: DeleteSiteInput): Promise<T>;
    getCapacityTask<T>(params: GetCapacityTaskInput): Promise<T>;
    getCatalogItem<T>(params: GetCatalogItemInput): Promise<T>;
    getConnection<T>(params: GetConnectionInput): Promise<T>;
    getOrder<T>(params: GetOrderInput): Promise<T>;
    getOutpost<T>(params: GetOutpostInput): Promise<T>;
    getOutpostBillingInformation<T>(params: GetOutpostBillingInformationInput): Promise<T>;
    getOutpostInstanceTypes<T>(params: GetOutpostInstanceTypesInput): Promise<T>;
    getOutpostSupportedInstanceTypes<T>(params: GetOutpostSupportedInstanceTypesInput): Promise<T>;
    getSite<T>(params: GetSiteInput): Promise<T>;
    getSiteAddress<T>(params: GetSiteAddressInput): Promise<T>;
    listAssetInstances<T>(params: ListAssetInstancesInput): Promise<T>;
    listAssets<T>(params: ListAssetsInput): Promise<T>;
    listBlockingInstancesForCapacityTask<T>(params: ListBlockingInstancesForCapacityTaskInput): Promise<T>;
    listCapacityTasks<T>(params: ListCapacityTasksInput): Promise<T>;
    listCatalogItems<T>(params: ListCatalogItemsInput): Promise<T>;
    listOrders<T>(params: ListOrdersInput): Promise<T>;
    listOutposts<T>(params: ListOutpostsInput): Promise<T>;
    listSites<T>(params: ListSitesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startCapacityTask<T>(params: StartCapacityTaskInput): Promise<T>;
    startConnection<T>(params: StartConnectionInput): Promise<T>;
    startOutpostDecommission<T>(params: StartOutpostDecommissionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateOutpost<T>(params: UpdateOutpostInput): Promise<T>;
    updateSite<T>(params: UpdateSiteInput): Promise<T>;
    updateSiteAddress<T>(params: UpdateSiteAddressInput): Promise<T>;
    updateSiteRackPhysicalProperties<T>(params: UpdateSiteRackPhysicalPropertiesInput): Promise<T>;
}
//# sourceMappingURL=Outposts.d.ts.map