export interface ApiGatewayProxyInput {
    /** The type of endpoint to use for the API Gateway proxy. If no value is specified in the request, the value is set to REGIONAL by default. If the value is set to PRIVATE in the request, this creates a p */
    EndpointType?: 'REGIONAL' | 'PRIVATE';
    /** The name of the API Gateway stage. The name defaults to prod. */
    StageName?: string;
}
export interface DefaultRouteInput {
    /** If set to ACTIVE, traffic is forwarded to this route’s service after the route is created. */
    ActivationState?: 'ACTIVE' | 'INACTIVE';
}
export interface UriPathRouteInput {
    /** This is the path that Refactor Spaces uses to match traffic. Paths must start with / and are relative to the base of the application. To use path parameters in the source path, add a variable in curly */
    SourcePath: string;
    /** If set to ACTIVE, traffic is forwarded to this route’s service after the route is created. */
    ActivationState: 'ACTIVE' | 'INACTIVE';
    /** A list of HTTP methods to match. An empty list matches all values. If a method is present, only HTTP requests using that method are forwarded to this route’s service. */
    Methods?: 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT'[];
    /** Indicates whether to match all subpaths of the given source path. If this value is false, requests must match the source path exactly before they are forwarded to this route's service. */
    IncludeChildPaths?: boolean;
    /** If set to true, this option appends the source path to the service URL endpoint. */
    AppendSourcePath?: boolean;
}
export interface UrlEndpointInput {
    /** The URL to route traffic to. The URL must be an rfc3986-formatted URL. If the host is a domain name, the name must be resolvable over the public internet. If the scheme is https, the top level domain  */
    Url: string;
    /** The health check URL of the URL endpoint type. If the URL is a public endpoint, the HealthUrl must also be a public endpoint. If the URL is a private endpoint inside a virtual private cloud (VPC), the */
    HealthUrl?: string;
}
export interface LambdaEndpointInput {
    /** The Amazon Resource Name (ARN) of the Lambda function or alias. */
    Arn: string;
}
export interface CreateApplicationInput {
    /** The unique identifier of the environment. */
    EnvironmentIdentifier: string;
    /** The name to use for the application. */
    Name: string;
    /** The proxy type of the proxy created within the application. */
    ProxyType: 'API_GATEWAY';
    /** The ID of the virtual private cloud (VPC). */
    VpcId: string;
    /** A wrapper object holding the API Gateway endpoint type and stage name for the proxy. */
    ApiGatewayProxy?: ApiGatewayProxyInput;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    ClientToken?: string;
    /** The tags to assign to the application. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key-value pair. */
    Tags?: Record<string, string>;
}
export interface CreateEnvironmentInput {
    /** The name of the environment. */
    Name: string;
    /** The network fabric type of the environment. */
    NetworkFabricType: 'TRANSIT_GATEWAY' | 'NONE';
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    ClientToken?: string;
    /** The description of the environment. */
    Description?: string;
    /** The tags to assign to the environment. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key-value pair. */
    Tags?: Record<string, string>;
}
export interface CreateRouteInput {
    /** The ID of the application within which the route is being created. */
    ApplicationIdentifier: string;
    /** The ID of the environment in which the route is created. */
    EnvironmentIdentifier: string;
    /** The route type of the route. DEFAULT indicates that all traffic that does not match another route is forwarded to the default route. Applications must have a default route before any other routes can  */
    RouteType: 'DEFAULT' | 'URI_PATH';
    /** The ID of the service in which the route is created. Traffic that matches this route is forwarded to this service. */
    ServiceIdentifier: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    ClientToken?: string;
    /** Configuration for the default route type. */
    DefaultRoute?: DefaultRouteInput;
    /** The tags to assign to the route. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key-value pair.. */
    Tags?: Record<string, string>;
    /** The configuration for the URI path route type. */
    UriPathRoute?: UriPathRouteInput;
}
export interface CreateServiceInput {
    /** The ID of the application which the service is created. */
    ApplicationIdentifier: string;
    /** The type of endpoint to use for the service. The type can be a URL in a VPC or an Lambda function. */
    EndpointType: 'LAMBDA' | 'URL';
    /** The ID of the environment in which the service is created. */
    EnvironmentIdentifier: string;
    /** The name of the service. */
    Name: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */
    ClientToken?: string;
    /** The description of the service. */
    Description?: string;
    /** The configuration for the Lambda endpoint type. */
    LambdaEndpoint?: LambdaEndpointInput;
    /** The tags to assign to the service. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key-value pair.. */
    Tags?: Record<string, string>;
    /** The configuration for the URL endpoint type. When creating a route to a service, Refactor Spaces automatically resolves the address in the UrlEndpointInput object URL when the Domain Name System (DNS) */
    UrlEndpoint?: UrlEndpointInput;
    /** The ID of the VPC. */
    VpcId?: string;
}
export interface DeleteApplicationInput {
    /** The ID of the application. */
    ApplicationIdentifier: string;
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
}
export interface DeleteEnvironmentInput {
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
}
export interface DeleteResourcePolicyInput {
    /** Amazon Resource Name (ARN) of the resource associated with the policy. */
    Identifier: string;
}
export interface DeleteRouteInput {
    /** The ID of the application to delete the route from. */
    ApplicationIdentifier: string;
    /** The ID of the environment to delete the route from. */
    EnvironmentIdentifier: string;
    /** The ID of the route to delete. */
    RouteIdentifier: string;
}
export interface DeleteServiceInput {
    /** Deletes a Refactor Spaces service. The RefactorSpacesSecurityGroup security group must be removed from all Amazon Web Services resources in the virtual private cloud (VPC) prior to deleting a service  */
    ApplicationIdentifier: string;
    /** The ID of the environment that the service is in. */
    EnvironmentIdentifier: string;
    /** The ID of the service to delete. */
    ServiceIdentifier: string;
}
export interface GetApplicationInput {
    /** The ID of the application. */
    ApplicationIdentifier: string;
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
}
export interface GetEnvironmentInput {
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
}
export interface GetResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the resource associated with the policy. */
    Identifier: string;
}
export interface GetRouteInput {
    /** The ID of the application. */
    ApplicationIdentifier: string;
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
    /** The ID of the route. */
    RouteIdentifier: string;
}
export interface GetServiceInput {
    /** The ID of the application. */
    ApplicationIdentifier: string;
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
    /** The ID of the service. */
    ServiceIdentifier: string;
}
export interface ListApplicationsInput {
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListEnvironmentsInput {
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListEnvironmentVpcsInput {
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListRoutesInput {
    /** The ID of the application. */
    ApplicationIdentifier: string;
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListServicesInput {
    /** The ID of the application. */
    ApplicationIdentifier: string;
    /** The ID of the environment. */
    EnvironmentIdentifier: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token for the next page of results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
}
export interface PutResourcePolicyInput {
    /** A JSON-formatted string for an Amazon Web Services resource-based policy. */
    Policy: string;
    /** The Amazon Resource Name (ARN) of the resource to which the policy is being attached. */
    ResourceArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** The new or modified tags for the resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** The list of keys of the tags to be removed from the resource. */
    TagKeys: string[];
}
export interface UpdateRouteInput {
    /** If set to ACTIVE, traffic is forwarded to this route’s service after the route is updated. */
    ActivationState: 'ACTIVE' | 'INACTIVE';
    /** The ID of the application within which the route is being updated. */
    ApplicationIdentifier: string;
    /** The ID of the environment in which the route is being updated. */
    EnvironmentIdentifier: string;
    /** The unique identifier of the route to update. */
    RouteIdentifier: string;
}
/** Migration Hub Refactor Spaces service binding for Step Functions SDK integrations. */
export declare class MigrationHubRefactorSpaces {
    constructor();
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createEnvironment<T>(params: CreateEnvironmentInput): Promise<T>;
    createRoute<T>(params: CreateRouteInput): Promise<T>;
    createService<T>(params: CreateServiceInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    deleteEnvironment<T>(params: DeleteEnvironmentInput): Promise<T>;
    deleteResourcePolicy<T>(params: DeleteResourcePolicyInput): Promise<T>;
    deleteRoute<T>(params: DeleteRouteInput): Promise<T>;
    deleteService<T>(params: DeleteServiceInput): Promise<T>;
    getApplication<T>(params: GetApplicationInput): Promise<T>;
    getEnvironment<T>(params: GetEnvironmentInput): Promise<T>;
    getResourcePolicy<T>(params: GetResourcePolicyInput): Promise<T>;
    getRoute<T>(params: GetRouteInput): Promise<T>;
    getService<T>(params: GetServiceInput): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listEnvironments<T>(params: ListEnvironmentsInput): Promise<T>;
    listEnvironmentVpcs<T>(params: ListEnvironmentVpcsInput): Promise<T>;
    listRoutes<T>(params: ListRoutesInput): Promise<T>;
    listServices<T>(params: ListServicesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putResourcePolicy<T>(params: PutResourcePolicyInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateRoute<T>(params: UpdateRouteInput): Promise<T>;
}
//# sourceMappingURL=MigrationHubRefactorSpaces.d.ts.map