import { Address } from '@monaxlabs/phloem/dist/types'; import { BigNumber, BigNumberish, ContractReceipt, ContractTransaction, PayableOverrides } from 'ethers'; import { ClaimConditionsState, CollectionContract, OperationStatus, Signerish, TokenId } from '..'; import { SdkError } from '../errors'; import { ClaimArgs, ClaimedToken } from '../features'; import { ContractObject } from './object'; export type ClaimState = { status: 'verifying-claim'; } | { status: 'verification-failed'; error: SdkError; } | { 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: ClaimedToken[]; }; export type ClaimSuccessState = Extract; export declare class PendingClaim extends ContractObject { protected readonly base: CollectionContract; readonly tokenId: TokenId; readonly conditions: ClaimConditionsState; constructor(base: CollectionContract, tokenId: TokenId, conditions: ClaimConditionsState); protected getArgs(): Omit; processAsync(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides?: PayableOverrides): Promise; processCallback(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides: PayableOverrides | undefined, onStateChange: (state: ClaimState) => void): Promise; execute(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides?: PayableOverrides): Promise>; verify(receiver: Address, quantity: BigNumberish): Promise>; estimateGas(signer: Signerish, receiver: Address, quantity: BigNumberish, overrides?: PayableOverrides): Promise>; }