export interface LinkAttributes {
    /** Describes the masking for HTTP error codes. */
    responderErrorMasking?: any[];
    /** The customer-provided unique identifier of the link. */
    customerProvidedId?: string;
}
export interface LinkApplicationLogConfiguration {
    /** Describes a link application log sample. */
    sampling: any;
}
export interface LinkLogSettings {
    /** Describes the configuration of a link application log. */
    applicationLogs: LinkApplicationLogConfiguration;
}
export interface TrustStoreConfiguration {
    /** The certificate authority certificate. */
    certificateAuthorityCertificates: string[];
}
export interface AutoScalingGroupsConfiguration {
    /** The names of the auto scaling group. */
    autoScalingGroupNames: any[];
    /** The role ARN of the auto scaling group. */
    roleArn: string;
}
export interface EksEndpointsConfiguration {
    /** The name of the endpoint resource. */
    endpointsResourceName: string;
    /** The namespace of the endpoint resource. */
    endpointsResourceNamespace: string;
    /** The URI of the cluster API server endpoint. */
    clusterApiServerEndpointUri: string;
    /** The CA certificate chain of the cluster API server. */
    clusterApiServerCaCertificateChain: string;
    /** The name of the cluster. */
    clusterName: string;
    /** The role ARN for the cluster. */
    roleArn: string;
}
export interface ModuleConfiguration {
    /** The version of the module. */
    version?: string;
    /** The name of the module. */
    name: string;
    /** The dependencies of the module. */
    dependsOn?: any[];
    /** Describes the parameters of a module. */
    moduleParameters?: any;
}
export interface AcceptLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
    /** Settings for the application logs. */
    logSettings: LinkLogSettings;
    /** Attributes of the link. */
    attributes?: LinkAttributes;
}
export interface CreateInboundExternalLinkInput {
    /** The unique client token. */
    clientToken: string;
    /** The unique identifier of the gateway. */
    gatewayId: string;
    logSettings: LinkLogSettings;
    /** Attributes of the link. */
    attributes?: LinkAttributes;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Record<string, string>;
}
export interface CreateLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** Settings for the application logs. */
    logSettings: LinkLogSettings;
    /** The unique identifier of the peer gateway. */
    peerGatewayId: string;
    /** Attributes of the link. */
    attributes?: LinkAttributes;
    /** Boolean to specify if an HTTP responder is allowed. */
    httpResponderAllowed?: boolean;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Record<string, string>;
}
export interface CreateOutboundExternalLinkInput {
    /** The unique client token. */
    clientToken: string;
    /** The unique identifier of the gateway. */
    gatewayId: string;
    logSettings: LinkLogSettings;
    /** The public endpoint of the link. */
    publicEndpoint: string;
    attributes?: LinkAttributes;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Record<string, string>;
}
export interface CreateRequesterGatewayInput {
    /** The unique client token. */
    clientToken: string;
    /** The unique identifiers of the security groups. */
    securityGroupIds: string[];
    /** The unique identifiers of the subnets. */
    subnetIds: string[];
    /** The unique identifier of the Virtual Private Cloud (VPC). */
    vpcId: string;
    /** An optional description for the requester gateway. */
    description?: string;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Record<string, string>;
}
export interface CreateResponderGatewayInput {
    /** The unique client token. */
    clientToken: string;
    /** The networking port to use. */
    port: number;
    /** The networking protocol to use. */
    protocol: 'HTTP' | 'HTTPS';
    /** The unique identifiers of the security groups. */
    securityGroupIds: string[];
    /** The unique identifiers of the subnets. */
    subnetIds: string[];
    /** The unique identifier of the Virtual Private Cloud (VPC). */
    vpcId: string;
    /** An optional description for the responder gateway. */
    description?: string;
    /** The domain name for the responder gateway. */
    domainName?: string;
    /** The configuration for the managed endpoint. */
    managedEndpointConfiguration?: {
        autoScalingGroups?: AutoScalingGroupsConfiguration;
    } | {
        eksEndpoints?: EksEndpointsConfiguration;
    };
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Record<string, string>;
    /** The configuration of the trust store. */
    trustStoreConfiguration?: TrustStoreConfiguration;
}
export interface DeleteInboundExternalLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
}
export interface DeleteLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
}
export interface DeleteOutboundExternalLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
}
export interface DeleteRequesterGatewayInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
}
export interface DeleteResponderGatewayInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
}
export interface GetInboundExternalLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
}
export interface GetLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
}
export interface GetOutboundExternalLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
}
export interface GetRequesterGatewayInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
}
export interface GetResponderGatewayInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
}
export interface ListLinksInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be */
    maxResults?: number;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    nextToken?: string;
}
export interface ListRequesterGatewaysInput {
    /** The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be */
    maxResults?: number;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    nextToken?: string;
}
export interface ListResponderGatewaysInput {
    /** The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be */
    maxResults?: number;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags. */
    resourceArn: string;
}
export interface RejectLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to tag. */
    resourceArn: string;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to untag. */
    resourceArn: string;
    /** The keys of the key-value pairs for the tag or tags you want to remove from the specified resource. */
    tagKeys: string[];
}
export interface UpdateLinkInput {
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
    /** Settings for the application logs. */
    logSettings?: LinkLogSettings;
}
export interface UpdateLinkModuleFlowInput {
    /** The unique client token. */
    clientToken: string;
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The unique identifier of the link. */
    linkId: string;
    /** The configuration of a module. */
    modules: ModuleConfiguration[];
}
export interface UpdateRequesterGatewayInput {
    /** The unique client token. */
    clientToken: string;
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** An optional description for the requester gateway. */
    description?: string;
}
export interface UpdateResponderGatewayInput {
    /** The unique client token. */
    clientToken: string;
    /** The unique identifier of the gateway. */
    gatewayId: string;
    /** The networking port to use. */
    port: number;
    /** The networking protocol to use. */
    protocol: 'HTTP' | 'HTTPS';
    /** An optional description for the responder gateway. */
    description?: string;
    /** The domain name for the responder gateway. */
    domainName?: string;
    /** The configuration for the managed endpoint. */
    managedEndpointConfiguration?: {
        autoScalingGroups?: AutoScalingGroupsConfiguration;
    } | {
        eksEndpoints?: EksEndpointsConfiguration;
    };
    /** The configuration of the trust store. */
    trustStoreConfiguration?: TrustStoreConfiguration;
}
/** RTBFabric service binding for Step Functions SDK integrations. */
export declare class RTBFabric {
    constructor();
    acceptLink<T>(params: AcceptLinkInput): Promise<T>;
    createInboundExternalLink<T>(params: CreateInboundExternalLinkInput): Promise<T>;
    createLink<T>(params: CreateLinkInput): Promise<T>;
    createOutboundExternalLink<T>(params: CreateOutboundExternalLinkInput): Promise<T>;
    createRequesterGateway<T>(params: CreateRequesterGatewayInput): Promise<T>;
    createResponderGateway<T>(params: CreateResponderGatewayInput): Promise<T>;
    deleteInboundExternalLink<T>(params: DeleteInboundExternalLinkInput): Promise<T>;
    deleteLink<T>(params: DeleteLinkInput): Promise<T>;
    deleteOutboundExternalLink<T>(params: DeleteOutboundExternalLinkInput): Promise<T>;
    deleteRequesterGateway<T>(params: DeleteRequesterGatewayInput): Promise<T>;
    deleteResponderGateway<T>(params: DeleteResponderGatewayInput): Promise<T>;
    getInboundExternalLink<T>(params: GetInboundExternalLinkInput): Promise<T>;
    getLink<T>(params: GetLinkInput): Promise<T>;
    getOutboundExternalLink<T>(params: GetOutboundExternalLinkInput): Promise<T>;
    getRequesterGateway<T>(params: GetRequesterGatewayInput): Promise<T>;
    getResponderGateway<T>(params: GetResponderGatewayInput): Promise<T>;
    listLinks<T>(params: ListLinksInput): Promise<T>;
    listRequesterGateways<T>(params: ListRequesterGatewaysInput): Promise<T>;
    listResponderGateways<T>(params: ListResponderGatewaysInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    rejectLink<T>(params: RejectLinkInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateLink<T>(params: UpdateLinkInput): Promise<T>;
    updateLinkModuleFlow<T>(params: UpdateLinkModuleFlowInput): Promise<T>;
    updateRequesterGateway<T>(params: UpdateRequesterGatewayInput): Promise<T>;
    updateResponderGateway<T>(params: UpdateResponderGatewayInput): Promise<T>;
}
//# sourceMappingURL=RTBFabric.d.ts.map