import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CreateMemberCommand , CreateMemberCommandInput , CreateMemberCommandOutput , } from "./commands/CreateMemberCommand" ; import { CreateNetworkCommand , CreateNetworkCommandInput , CreateNetworkCommandOutput , } from "./commands/CreateNetworkCommand" ; import { CreateNodeCommand , CreateNodeCommandInput , CreateNodeCommandOutput } from "./commands/CreateNodeCommand" ; import { CreateProposalCommand , CreateProposalCommandInput , CreateProposalCommandOutput , } from "./commands/CreateProposalCommand" ; import { DeleteMemberCommand , DeleteMemberCommandInput , DeleteMemberCommandOutput , } from "./commands/DeleteMemberCommand" ; import { DeleteNodeCommand , DeleteNodeCommandInput , DeleteNodeCommandOutput } from "./commands/DeleteNodeCommand" ; import { GetMemberCommand , GetMemberCommandInput , GetMemberCommandOutput } from "./commands/GetMemberCommand" ; import { GetNetworkCommand , GetNetworkCommandInput , GetNetworkCommandOutput } from "./commands/GetNetworkCommand" ; import { GetNodeCommand , GetNodeCommandInput , GetNodeCommandOutput } from "./commands/GetNodeCommand" ; import { GetProposalCommand , GetProposalCommandInput , GetProposalCommandOutput } from "./commands/GetProposalCommand" ; import { ListInvitationsCommand , ListInvitationsCommandInput , ListInvitationsCommandOutput , } from "./commands/ListInvitationsCommand" ; import { ListMembersCommand , ListMembersCommandInput , ListMembersCommandOutput } from "./commands/ListMembersCommand" ; import { ListNetworksCommand , ListNetworksCommandInput , ListNetworksCommandOutput , } from "./commands/ListNetworksCommand" ; import { ListNodesCommand , ListNodesCommandInput , ListNodesCommandOutput } from "./commands/ListNodesCommand" ; import { ListProposalsCommand , ListProposalsCommandInput , ListProposalsCommandOutput , } from "./commands/ListProposalsCommand" ; import { ListProposalVotesCommand , ListProposalVotesCommandInput , ListProposalVotesCommandOutput , } from "./commands/ListProposalVotesCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { RejectInvitationCommand , RejectInvitationCommandInput , RejectInvitationCommandOutput , } from "./commands/RejectInvitationCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateMemberCommand , UpdateMemberCommandInput , UpdateMemberCommandOutput , } from "./commands/UpdateMemberCommand" ; import { UpdateNodeCommand , UpdateNodeCommandInput , UpdateNodeCommandOutput } from "./commands/UpdateNodeCommand" ; import { VoteOnProposalCommand , VoteOnProposalCommandInput , VoteOnProposalCommandOutput , } from "./commands/VoteOnProposalCommand" ; import { ManagedBlockchainClient } from "./ManagedBlockchainClient" ; /**
 * <p></p>
 *          <p>Amazon Managed Blockchain is a fully managed service for creating and managing blockchain networks using open-source frameworks. Blockchain allows you to build applications where multiple parties can securely and transparently run transactions and share data without the need for a trusted, central authority.</p>
 *         <p>Managed Blockchain supports the Hyperledger Fabric and Ethereum open-source frameworks. Because of fundamental differences between the frameworks, some API actions or data types may only apply in the context of one framework and not the other. For example, actions related to Hyperledger Fabric network members such as <code>CreateMember</code> and <code>DeleteMember</code> do not apply to Ethereum.</p>
 *         <p>The description for each action indicates the framework or frameworks to which it applies. Data types and properties that apply only in the context of a particular framework are similarly indicated.</p>
 */ export class ManagedBlockchain extends ManagedBlockchainClient { /**
     * <p>Creates a member within a Managed Blockchain network.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public createMember ( args , options ? ) ; public createMember ( args , cb ) ; public createMember ( args , options , cb ) ; public createMember ( args , optionsOrCb ? , cb ? ) { const command = new CreateMemberCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a new blockchain network using Amazon Managed Blockchain.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public createNetwork ( args , options ? ) ; public createNetwork ( args , cb ) ; public createNetwork ( args , options , cb ) ; public createNetwork ( args , optionsOrCb ? , cb ? ) { const command = new CreateNetworkCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a node on the specified blockchain network.</p>
     *          <p>Applies to Hyperledger Fabric and Ethereum.</p>
     */ public createNode ( args , options ? ) ; public createNode ( args , cb ) ; public createNode ( args , options , cb ) ; public createNode ( args , optionsOrCb ? , cb ? ) { const command = new CreateNodeCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a proposal for a change to the network that other members of the network can vote on, for example, a proposal to add a new member to the network. Any member can create a proposal.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public createProposal ( args , options ? ) ; public createProposal ( args , cb ) ; public createProposal ( args , options , cb ) ; public createProposal ( args , optionsOrCb ? , cb ? ) { const command = new CreateProposalCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a member. Deleting a member removes the member and all associated resources from the network. <code>DeleteMember</code> can only be called for a specified <code>MemberId</code> if the principal performing the action is associated with the AWS account that owns the member. In all other cases, the <code>DeleteMember</code> action is carried out as the result of an approved proposal to remove a member. If <code>MemberId</code> is the last member in a network specified by the last AWS account, the network is deleted also.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public deleteMember ( args , options ? ) ; public deleteMember ( args , cb ) ; public deleteMember ( args , options , cb ) ; public deleteMember ( args , optionsOrCb ? , cb ? ) { const command = new DeleteMemberCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a node that your AWS account owns. All data on the node is lost and cannot be recovered.</p>
     *          <p>Applies to Hyperledger Fabric and Ethereum.</p>
     */ public deleteNode ( args , options ? ) ; public deleteNode ( args , cb ) ; public deleteNode ( args , options , cb ) ; public deleteNode ( args , optionsOrCb ? , cb ? ) { const command = new DeleteNodeCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns detailed information about a member.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public getMember ( args , options ? ) ; public getMember ( args , cb ) ; public getMember ( args , options , cb ) ; public getMember ( args , optionsOrCb ? , cb ? ) { const command = new GetMemberCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns detailed information about a network.</p>
     *          <p>Applies to Hyperledger Fabric and Ethereum.</p>
     */ public getNetwork ( args , options ? ) ; public getNetwork ( args , cb ) ; public getNetwork ( args , options , cb ) ; public getNetwork ( args , optionsOrCb ? , cb ? ) { const command = new GetNetworkCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns detailed information about a node.</p>
     *          <p>Applies to Hyperledger Fabric and Ethereum.</p>
     */ public getNode ( args , options ? ) ; public getNode ( args , cb ) ; public getNode ( args , options , cb ) ; public getNode ( args , optionsOrCb ? , cb ? ) { const command = new GetNodeCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns detailed information about a proposal.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public getProposal ( args , options ? ) ; public getProposal ( args , cb ) ; public getProposal ( args , options , cb ) ; public getProposal ( args , optionsOrCb ? , cb ? ) { const command = new GetProposalCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a list of all invitations for the current AWS account.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public listInvitations ( args , options ? ) ; public listInvitations ( args , cb ) ; public listInvitations ( args , options , cb ) ; public listInvitations ( args , optionsOrCb ? , cb ? ) { const command = new ListInvitationsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a list of the members in a network and properties of their configurations.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public listMembers ( args , options ? ) ; public listMembers ( args , cb ) ; public listMembers ( args , options , cb ) ; public listMembers ( args , optionsOrCb ? , cb ? ) { const command = new ListMembersCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns information about the networks in which the current AWS account participates.</p>
     *          <p>Applies to Hyperledger Fabric and Ethereum.</p>
     */ public listNetworks ( args , options ? ) ; public listNetworks ( args , cb ) ; public listNetworks ( args , options , cb ) ; public listNetworks ( args , optionsOrCb ? , cb ? ) { const command = new ListNetworksCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns information about the nodes within a network.</p>
     *          <p>Applies to Hyperledger Fabric and Ethereum.</p>
     */ public listNodes ( args , options ? ) ; public listNodes ( args , cb ) ; public listNodes ( args , options , cb ) ; public listNodes ( args , optionsOrCb ? , cb ? ) { const command = new ListNodesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a list of proposals for the network.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public listProposals ( args , options ? ) ; public listProposals ( args , cb ) ; public listProposals ( args , options , cb ) ; public listProposals ( args , optionsOrCb ? , cb ? ) { const command = new ListProposalsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns the list of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public listProposalVotes ( args , options ? ) ; public listProposalVotes ( args , cb ) ; public listProposalVotes ( args , options , cb ) ; public listProposalVotes ( args , optionsOrCb ? , cb ? ) { const command = new ListProposalVotesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a list of tags for the specified resource. Each tag consists of a key and optional value.</p>
     *          <p>For more information about tags, see <a href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, or <a href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer Guide</i>.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Rejects an invitation to join a network. This action can be called by a principal in an AWS account that has received an invitation to create a member and join a network.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public rejectInvitation ( args , options ? ) ; public rejectInvitation ( args , cb ) ; public rejectInvitation ( args , options , cb ) ; public rejectInvitation ( args , optionsOrCb ? , cb ? ) { const command = new RejectInvitationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Adds or overwrites the specified tags for the specified Amazon Managed Blockchain resource. Each tag consists of a key and optional value.</p>
     *          <p>When you specify a tag key that already exists, the tag value is overwritten with the new value. Use <code>UntagResource</code> to remove tag keys.</p>
     *          <p>A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, your request fails and returns an error.</p>
     *          <p>For more information about tags, see <a href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, or <a href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer Guide</i>.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes the specified tags from the Amazon Managed Blockchain resource.</p>
     *          <p>For more information about tags, see <a href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, or <a href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer Guide</i>.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a member configuration with new parameters.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public updateMember ( args , options ? ) ; public updateMember ( args , cb ) ; public updateMember ( args , options , cb ) ; public updateMember ( args , optionsOrCb ? , cb ? ) { const command = new UpdateMemberCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a node configuration with new parameters.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public updateNode ( args , options ? ) ; public updateNode ( args , cb ) ; public updateNode ( args , options , cb ) ; public updateNode ( args , optionsOrCb ? , cb ? ) { const command = new UpdateNodeCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Casts a vote for a specified <code>ProposalId</code> on behalf of a member. The member to vote as, specified by <code>VoterMemberId</code>, must be in the same AWS account as the principal that calls the action.</p>
     *          <p>Applies only to Hyperledger Fabric.</p>
     */ public voteOnProposal ( args , options ? ) ; public voteOnProposal ( args , cb ) ; public voteOnProposal ( args , options , cb ) ; public voteOnProposal ( args , optionsOrCb ? , cb ? ) { const command = new VoteOnProposalCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }