export interface Tag {
    /** The key part of a tag's key-value pair. The key can't start with aws:. */
    Key: string;
    /** The value part of a tag's key-value pair. */
    Value: string;
}
export interface AssociateGatewayToServerInput {
    /** The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region. */
    GatewayArn: string;
    /** The Amazon Resource Name (ARN) of the server that hosts your virtual machines. */
    ServerArn: string;
}
export interface CreateGatewayInput {
    /** The activation key of the created gateway. */
    ActivationKey: string;
    /** The display name of the created gateway. */
    GatewayDisplayName: string;
    /** The type of created gateway. */
    GatewayType: 'BACKUP_VM';
    /** A list of up to 50 tags to assign to the gateway. Each tag is a key-value pair. */
    Tags?: Tag[];
}
export interface DeleteGatewayInput {
    /** The Amazon Resource Name (ARN) of the gateway to delete. */
    GatewayArn: string;
}
export interface DeleteHypervisorInput {
    /** The Amazon Resource Name (ARN) of the hypervisor to delete. */
    HypervisorArn: string;
}
export interface DisassociateGatewayFromServerInput {
    /** The Amazon Resource Name (ARN) of the gateway to disassociate. */
    GatewayArn: string;
}
export interface GetBandwidthRateLimitScheduleInput {
    /** The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region. */
    GatewayArn: string;
}
export interface GetGatewayInput {
    /** The Amazon Resource Name (ARN) of the gateway. */
    GatewayArn: string;
}
export interface GetHypervisorInput {
    /** The Amazon Resource Name (ARN) of the hypervisor. */
    HypervisorArn: string;
}
export interface GetHypervisorPropertyMappingsInput {
    /** The Amazon Resource Name (ARN) of the hypervisor. */
    HypervisorArn: string;
}
export interface GetVirtualMachineInput {
    /** The Amazon Resource Name (ARN) of the virtual machine. */
    ResourceArn: string;
}
export interface ImportHypervisorConfigurationInput {
    /** The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN). */
    Host: string;
    /** The name of the hypervisor. */
    Name: string;
    /** The Key Management Service for the hypervisor. */
    KmsKeyArn?: string;
    /** The password for the hypervisor. */
    Password?: string;
    /** The tags of the hypervisor configuration to import. */
    Tags?: Tag[];
    /** The username for the hypervisor. */
    Username?: string;
}
export interface ListGatewaysInput {
    /** The maximum number of gateways to list. */
    MaxResults?: number;
    /** The next item following a partial list of returned resources. For example, if a request is made to return MaxResults number of resources, NextToken allows you to return more items in your list startin */
    NextToken?: string;
}
export interface ListHypervisorsInput {
    /** The maximum number of hypervisors to list. */
    MaxResults?: number;
    /** The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list startin */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource's tags to list. */
    ResourceArn: string;
}
export interface ListVirtualMachinesInput {
    /** The Amazon Resource Name (ARN) of the hypervisor connected to your virtual machine. */
    HypervisorArn?: string;
    /** The maximum number of virtual machines to list. */
    MaxResults?: number;
    /** The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list startin */
    NextToken?: string;
}
export interface PutMaintenanceStartTimeInput {
    /** The Amazon Resource Name (ARN) for the gateway, used to specify its maintenance start time. */
    GatewayArn: string;
    /** The hour of the day to start maintenance on a gateway. */
    HourOfDay: number;
    /** The minute of the hour to start maintenance on a gateway. */
    MinuteOfHour: number;
    /** The day of the month start maintenance on a gateway. Valid values range from Sunday to Saturday. */
    DayOfMonth?: number;
    /** The day of the week to start maintenance on a gateway. */
    DayOfWeek?: number;
}
export interface StartVirtualMachinesMetadataSyncInput {
    /** The Amazon Resource Name (ARN) of the hypervisor. */
    HypervisorArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to tag. */
    ResourceARN: string;
    /** A list of tags to assign to the resource. */
    Tags: Tag[];
}
export interface TestHypervisorConfigurationInput {
    /** The Amazon Resource Name (ARN) of the gateway to the hypervisor to test. */
    GatewayArn: string;
    /** The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN). */
    Host: string;
    /** The password for the hypervisor. */
    Password?: string;
    /** The username for the hypervisor. */
    Username?: string;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource from which to remove tags. */
    ResourceARN: string;
    /** The list of tag keys specifying which tags to remove. */
    TagKeys: string[];
}
export interface UpdateGatewayInformationInput {
    /** The Amazon Resource Name (ARN) of the gateway to update. */
    GatewayArn: string;
    /** The updated display name of the gateway. */
    GatewayDisplayName?: string;
}
export interface UpdateGatewaySoftwareNowInput {
    /** The Amazon Resource Name (ARN) of the gateway to be updated. */
    GatewayArn: string;
}
export interface UpdateHypervisorInput {
    /** The Amazon Resource Name (ARN) of the hypervisor to update. */
    HypervisorArn: string;
    /** The updated host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN). */
    Host?: string;
    /** The Amazon Resource Name (ARN) of the group of gateways within the requested log. */
    LogGroupArn?: string;
    /** The updated name for the hypervisor */
    Name?: string;
    /** The updated password for the hypervisor. */
    Password?: string;
    /** The updated username for the hypervisor. */
    Username?: string;
}
/** Backup Gateway service binding for Step Functions SDK integrations. */
export declare class BackupGateway {
    constructor();
    associateGatewayToServer<T>(params: AssociateGatewayToServerInput): Promise<T>;
    createGateway<T>(params: CreateGatewayInput): Promise<T>;
    deleteGateway<T>(params: DeleteGatewayInput): Promise<T>;
    deleteHypervisor<T>(params: DeleteHypervisorInput): Promise<T>;
    disassociateGatewayFromServer<T>(params: DisassociateGatewayFromServerInput): Promise<T>;
    getBandwidthRateLimitSchedule<T>(params: GetBandwidthRateLimitScheduleInput): Promise<T>;
    getGateway<T>(params: GetGatewayInput): Promise<T>;
    getHypervisor<T>(params: GetHypervisorInput): Promise<T>;
    getHypervisorPropertyMappings<T>(params: GetHypervisorPropertyMappingsInput): Promise<T>;
    getVirtualMachine<T>(params: GetVirtualMachineInput): Promise<T>;
    importHypervisorConfiguration<T>(params: ImportHypervisorConfigurationInput): Promise<T>;
    listGateways<T>(params: ListGatewaysInput): Promise<T>;
    listHypervisors<T>(params: ListHypervisorsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listVirtualMachines<T>(params: ListVirtualMachinesInput): Promise<T>;
    putMaintenanceStartTime<T>(params: PutMaintenanceStartTimeInput): Promise<T>;
    startVirtualMachinesMetadataSync<T>(params: StartVirtualMachinesMetadataSyncInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    testHypervisorConfiguration<T>(params: TestHypervisorConfigurationInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateGatewayInformation<T>(params: UpdateGatewayInformationInput): Promise<T>;
    updateGatewaySoftwareNow<T>(params: UpdateGatewaySoftwareNowInput): Promise<T>;
    updateHypervisor<T>(params: UpdateHypervisorInput): Promise<T>;
}
//# sourceMappingURL=BackupGateway.d.ts.map