import { IAirGapTransaction } from '../../../interfaces/IAirGapTransaction'; import { RawTezosTransaction } from '../../../serializer/types'; import { FeeDefaults } from '../../ICoinProtocol'; import { ConseilPredicate } from '../types/contract/ConseilPredicate'; import { TezosFA2BalanceOfRequest } from '../types/fa/TezosFA2BalanceOfRequest'; import { TezosFA2BalanceOfResponse } from '../types/fa/TezosFA2BalanceOfResponse'; import { TezosFA2TransferRequest } from '../types/fa/TezosFA2TransferRequest'; import { TezosFA2UpdateOperatorRequest } from '../types/fa/TezosFA2UpdateOperatorRequest'; import { TezosFATokenMetadata } from '../types/fa/TezosFATokenMetadata'; import { TezosTransactionParameters } from '../types/operations/Transaction'; import { TezosFAProtocol } from './TezosFAProtocol'; import { TezosFA2ProtocolOptions } from './TezosFAProtocolOptions'; declare enum TezosFA2ContractEntrypoint { BALANCE = "balance_of", TRANSFER = "transfer", UPDATE_OPERATORS = "update_operators" } export declare class TezosFA2Protocol extends TezosFAProtocol { readonly options: TezosFA2ProtocolOptions; readonly tokenID?: number; private readonly defaultCallbackContract; constructor(options: TezosFA2ProtocolOptions); getBalanceOfPublicKey(publicKey: string, data?: { addressIndex?: number; assetID?: string; [key: string]: any; }): Promise; getAvailableBalanceOfAddresses(addresses: string[], data?: { assetID?: string; [key: string]: any; }): Promise; getBalanceOfAddresses(addresses: string[], data?: { assetID?: string; [key: string]: any; }): Promise; estimateFeeDefaultsFromPublicKey(publicKey: string, recipients: string[], values: string[], data?: { addressIndex?: number; tokenID?: number; }): Promise; prepareTransactionFromPublicKey(publicKey: string, recipients: string[], values: string[], fee: string, data?: { addressIndex?: number; assetID?: number; }): Promise; transactionDetailsFromParameters(parameters: TezosTransactionParameters): Partial[]; balanceOf(balanceRequests: TezosFA2BalanceOfRequest[], source?: string, callbackContract?: string): Promise; transfer(transferRequests: TezosFA2TransferRequest[], fee: string, publicKey: string): Promise; updateOperators(updateRequests: TezosFA2UpdateOperatorRequest[], fee: string, publicKey: string): Promise; getTokenMetadata(tokenID?: number): Promise; private static readonly extractAddressRegex; fetchTokenHolders(tokenID?: number): Promise<{ address: string; amount: string; }[]>; getTotalSupply(tokenID?: number): Promise; protected getAdditionalTransactionQueryPredicates(_address: string, _addressQueryType: 'string' | 'bytes'): ConseilPredicate[]; private createTransferCall; protected callbackContract(entrypoint: TezosFA2ContractEntrypoint): string; private isTransferRequest; } export {};