import { ISubmittableResult, SignerPayloadJSON } from '@polkadot/types/types/extrinsic'; import { HexString } from '@polkadot/util/types'; import { Sdk } from '@unique-nft/sdk'; import { ISdkExtrinsics, TxBuildArguments, UnsignedTxPayload, SubmitTxArguments, Fee, SdkSigner, SignTxResult, SignatureType, SubmitResult, SubmittableResultCompleted, Balance, SubmittableResultInProcess } from '@unique-nft/sdk/types'; import { ApiPromise } from '@polkadot/api'; import { SignerPayload } from '@polkadot/types/interfaces'; import { Observable } from 'rxjs'; declare class SdkExtrinsics implements ISdkExtrinsics { readonly sdk: Sdk; private submitter; constructor(sdk: Sdk); build(buildArgs: TxBuildArguments): Promise; getFee(buildArgs: TxBuildArguments | UnsignedTxPayload | SubmitTxArguments): Promise; sign(args: UnsignedTxPayload, signer?: SdkSigner | undefined): Promise; verifySignOrThrow(args: SubmitTxArguments): void; packSignatureType(signature: HexString | Uint8Array, signatureType: SignatureType | `${SignatureType}`): HexString; submit(args: SubmitTxArguments, isObservable?: boolean): Promise; submitWaitCompleted(args: SubmitTxArguments): Promise; } declare module '@unique-nft/sdk' { interface Sdk { readonly extrinsics: SdkExtrinsics; } } declare const verifyTxSignatureOrThrow: (api: ApiPromise, signerPayloadJSON: SignerPayloadJSON, signature: HexString) => void; declare const signerPayloadToUnsignedTxPayload: (api: ApiPromise, signerPayload: SignerPayload) => UnsignedTxPayload; declare const isUnsignedTxPayload: (args: unknown) => args is UnsignedTxPayload; declare const isSubmitTxArguments: (args: unknown) => args is SubmitTxArguments; interface MutationOptions { signer?: SdkSigner; } declare type MutationMethod = (args: A | UnsignedTxPayload | SubmitTxArguments, options?: MutationOptions) => Promise>; interface MutationMethodWrap { build(args: A): Promise; getFee(args: A | UnsignedTxPayload | SubmitTxArguments): Promise; sign(args: A | UnsignedTxPayload, options?: MutationOptions): Promise; submit(args: A | UnsignedTxPayload | SubmitTxArguments, options?: MutationOptions): Promise>; submitWatch(args: A | UnsignedTxPayload | SubmitTxArguments, options?: MutationOptions): Observable>; submitWaitResult: MutationMethod; expose(): MutationMethod; } declare abstract class MutationMethodBase implements MutationMethodWrap { readonly sdk: Sdk; constructor(sdk: Sdk); abstract transformArgs(args: A): Promise; abstract transformResult(result: ISubmittableResult): Promise; build(args: A): Promise; getFee(args: A | UnsignedTxPayload | SubmitTxArguments): Promise; sign(args: UnsignedTxPayload | A, options?: MutationOptions): Promise; submit(args: UnsignedTxPayload | SubmitTxArguments | A, options?: MutationOptions): Promise>; submitWatch(args: UnsignedTxPayload | SubmitTxArguments | A, options?: MutationOptions): Observable>; submitWaitResult(args: UnsignedTxPayload | SubmitTxArguments | A, options?: MutationOptions): Promise>; expose(): (args: SubmitTxArguments | UnsignedTxPayload | A, options?: MutationOptions | undefined) => Promise>; } interface QueryMethod { (args: A): Promise; } export { MutationMethod, MutationMethodBase, MutationMethodWrap, MutationOptions, QueryMethod, SdkExtrinsics, isSubmitTxArguments, isUnsignedTxPayload, signerPayloadToUnsignedTxPayload, verifyTxSignatureOrThrow };