import { Address } from '@monaxlabs/phloem/dist/types'; import { BigNumber, BigNumberish, ContractReceipt, ContractTransaction, PayableOverrides } from 'ethers'; import { CollectionContract, OperationStatus, Signerish, TokenId } from '..'; import { SdkError } from '../errors'; import { IssuedToken } from '../features'; import { ContractObject } from './object'; export type IssueState = { status: 'signing-transaction'; } | { status: 'cancelled-transaction'; error: SdkError; } | { status: 'pending-transaction'; tx: ContractTransaction; } | { status: 'transaction-failed'; tx: ContractTransaction; error: SdkError; } | { status: 'success'; tx: ContractTransaction; receipt: ContractReceipt; tokens: IssuedToken[]; }; export type IssueSuccessState = Extract; export declare class PendingIssue extends ContractObject { protected readonly base: CollectionContract; readonly tokenId: TokenId; readonly tokenURI?: string | undefined; constructor(base: CollectionContract, tokenId: TokenId, tokenURI?: string | undefined); processAsync(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides?: PayableOverrides): Promise; processCallback(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides: PayableOverrides | undefined, onStateChange: (state: IssueState) => void): Promise; execute(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides?: PayableOverrides): Promise>; estimateGas(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides?: PayableOverrides): Promise>; }