/// import { ImmutableMethodContext, MethodContext } from '../../state_machine'; import { BaseMethod } from '../base_method'; import { InteroperabilityMethod, ModuleConfig } from './types'; import { SupplyStoreData } from './stores/supply'; import { NamedRegistry } from '../named_registry'; import { InternalMethod } from './internal_method'; interface MethodConfig extends ModuleConfig { ownChainID: Buffer; } export declare class TokenMethod extends BaseMethod { private readonly _moduleName; private _config; private _interoperabilityMethod; private _internalMethod; constructor(stores: NamedRegistry, events: NamedRegistry, moduleName: string); init(config: MethodConfig): void; addDependencies(interoperabilityMethod: InteroperabilityMethod, internalMethod: InternalMethod): void; isNativeToken(tokenID: Buffer): boolean; getTokenIDLSK(): Buffer; userSubstoreExists(methodContext: ImmutableMethodContext, address: Buffer, tokenID: Buffer): Promise; getAvailableBalance(methodContext: ImmutableMethodContext, address: Buffer, tokenID: Buffer): Promise; getLockedAmount(methodContext: ImmutableMethodContext, address: Buffer, tokenID: Buffer, module: string): Promise; getEscrowedAmount(methodContext: ImmutableMethodContext, escrowChainID: Buffer, tokenID: Buffer): Promise; isTokenIDAvailable(methodContext: ImmutableMethodContext, tokenID: Buffer): Promise; initializeToken(methodContext: MethodContext, tokenID: Buffer): Promise; mint(methodContext: MethodContext, address: Buffer, tokenID: Buffer, amount: bigint): Promise; burn(methodContext: MethodContext, address: Buffer, tokenID: Buffer, amount: bigint): Promise; initializeUserAccount(methodContext: MethodContext, address: Buffer, tokenID: Buffer): Promise; initializeEscrowAccount(methodContext: MethodContext, chainID: Buffer, tokenID: Buffer): Promise; transfer(methodContext: MethodContext, senderAddress: Buffer, recipientAddress: Buffer, tokenID: Buffer, amount: bigint): Promise; transferCrossChain(methodContext: MethodContext, senderAddress: Buffer, receivingChainID: Buffer, recipientAddress: Buffer, tokenID: Buffer, amount: bigint, messageFee: bigint, data: string): Promise; lock(methodContext: MethodContext, address: Buffer, module: string, tokenID: Buffer, amount: bigint): Promise; unlock(methodContext: MethodContext, address: Buffer, module: string, tokenID: Buffer, amount: bigint): Promise; payMessageFee(methodContext: MethodContext, payFromAddress: Buffer, receivingChainID: Buffer, fee: bigint): Promise; isTokenSupported(methodContext: ImmutableMethodContext, tokenID: Buffer): Promise; supportAllTokens(methodContext: MethodContext): Promise; removeAllTokensSupport(methodContext: MethodContext): Promise; supportAllTokensFromChainID(methodContext: MethodContext, chainID: Buffer): Promise; removeAllTokensSupportFromChainID(methodContext: MethodContext, chainID: Buffer): Promise; supportTokenID(methodContext: MethodContext, tokenID: Buffer): Promise; removeSupport(methodContext: MethodContext, tokenID: Buffer): Promise; getTotalSupply(context: MethodContext): Promise<{ totalSupply: (SupplyStoreData & { tokenID: Buffer; })[]; }>; escrowSubstoreExists(methodContext: MethodContext, chainID: Buffer, tokenID: Buffer): Promise; } export {};