export interface Tag {
    /** Key associated with the Tag. */
    Key: string;
    /** Value for the Tag. */
    Value: string;
}
export interface AssociateProfileInput {
    /** A name for the association. */
    Name: string;
    /** ID of the Profile. */
    ProfileId: string;
    /** The ID of the VPC. */
    ResourceId: string;
    /** A list of the tag keys and values that you want to identify the Profile association. */
    Tags?: Tag[];
}
export interface AssociateResourceToProfileInput {
    /** Name for the resource association. */
    Name: string;
    /** ID of the Profile. */
    ProfileId: string;
    /** Amazon resource number, ARN, of the DNS resource. */
    ResourceArn: string;
    /** If you are adding a DNS Firewall rule group, include also a priority. The priority indicates the processing order for the rule groups, starting with the priority assinged the lowest value. The allowed */
    ResourceProperties?: string;
}
export interface CreateProfileInput {
    /** ClientToken is an idempotency token that ensures a call to CreateProfile completes only once. You choose the value to pass. For example, an issue might prevent you from getting a response from CreateP */
    ClientToken: string;
    /** A name for the Profile. */
    Name: string;
    /** A list of the tag keys and values that you want to associate with the Route 53 Profile. */
    Tags?: Tag[];
}
export interface DeleteProfileInput {
    /** The ID of the Profile that you want to delete. */
    ProfileId: string;
}
export interface DisassociateProfileInput {
    /** ID of the Profile. */
    ProfileId: string;
    /** The ID of the VPC. */
    ResourceId: string;
}
export interface DisassociateResourceFromProfileInput {
    /** The ID of the Profile. */
    ProfileId: string;
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
}
export interface GetProfileInput {
    /** ID of the Profile. */
    ProfileId: string;
}
export interface GetProfileAssociationInput {
    /** The identifier of the association you want to get information about. */
    ProfileAssociationId: string;
}
export interface GetProfileResourceAssociationInput {
    /** The ID of the profile resource association that you want to get information about. */
    ProfileResourceAssociationId: string;
}
export interface ListProfileAssociationsInput {
    /** The maximum number of objects that you want to return for this request. If more objects are available, in the response, a NextToken value, which you can use in a subsequent call to get the next batch  */
    MaxResults?: number;
    /** For the first call to this list request, omit this value. When you request a list of objects, at most the number of objects specified by MaxResults is returned. If more objects are available for retri */
    NextToken?: string;
    /** ID of the Profile. */
    ProfileId?: string;
    /** ID of the VPC. */
    ResourceId?: string;
}
export interface ListProfileResourceAssociationsInput {
    /** The ID of the Profile. */
    ProfileId: string;
    /** The maximum number of objects that you want to return for this request. If more objects are available, in the response, a NextToken value, which you can use in a subsequent call to get the next batch  */
    MaxResults?: number;
    /** For the first call to this list request, omit this value. When you request a list of objects, at most the number of objects specified by MaxResults is returned. If more objects are available for retri */
    NextToken?: string;
    /** ID of a resource if you want information on only one type. */
    ResourceType?: string;
}
export interface ListProfilesInput {
    /** The maximum number of objects that you want to return for this request. If more objects are available, in the response, a NextToken value, which you can use in a subsequent call to get the next batch  */
    MaxResults?: number;
    /** For the first call to this list request, omit this value. When you request a list of objects, at most the number of objects specified by MaxResults is returned. If more objects are available for retri */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) for the resource that you want to list the tags for. */
    ResourceArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) for the resource that you want to add tags to. */
    ResourceArn: string;
    /** The tags that you want to add to the specified resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) for the resource that you want to remove tags from. */
    ResourceArn: string;
    /** The tags that you want to remove to the specified resource. */
    TagKeys: string[];
}
export interface UpdateProfileResourceAssociationInput {
    /** ID of the resource association. */
    ProfileResourceAssociationId: string;
    /** Name of the resource association. */
    Name?: string;
    /** If you are adding a DNS Firewall rule group, include also a priority. The priority indicates the processing order for the rule groups, starting with the priority assinged the lowest value. The allowed */
    ResourceProperties?: string;
}
/** Route53Profiles service binding for Step Functions SDK integrations. */
export declare class Route53Profiles {
    constructor();
    associateProfile<T>(params: AssociateProfileInput): Promise<T>;
    associateResourceToProfile<T>(params: AssociateResourceToProfileInput): Promise<T>;
    createProfile<T>(params: CreateProfileInput): Promise<T>;
    deleteProfile<T>(params: DeleteProfileInput): Promise<T>;
    disassociateProfile<T>(params: DisassociateProfileInput): Promise<T>;
    disassociateResourceFromProfile<T>(params: DisassociateResourceFromProfileInput): Promise<T>;
    getProfile<T>(params: GetProfileInput): Promise<T>;
    getProfileAssociation<T>(params: GetProfileAssociationInput): Promise<T>;
    getProfileResourceAssociation<T>(params: GetProfileResourceAssociationInput): Promise<T>;
    listProfileAssociations<T>(params: ListProfileAssociationsInput): Promise<T>;
    listProfileResourceAssociations<T>(params: ListProfileResourceAssociationsInput): Promise<T>;
    listProfiles<T>(params: ListProfilesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateProfileResourceAssociation<T>(params: UpdateProfileResourceAssociationInput): Promise<T>;
}
//# sourceMappingURL=Route53Profiles.d.ts.map