import { type Address, type DecodedAbiFunctionInputs, type DecodeEventParams, type DecodeTransactionParams, type DelayedMessageExecution, type ProviderRpcClient, type SendInternalParams, type Transaction } from 'everscale-inpage-provider';
import { type TokenFactoryAbi } from '../../models/tvm-token-factory/abi';
import { type TvmTokenFactoryDecodedEvent, type TvmTokenFactoryDecodedTransaction } from '../../models/tvm-token-factory/types';
export interface TvmTokenFactoryCreateTokenAbiParams extends Omit<DecodedAbiFunctionInputs<typeof TokenFactoryAbi, 'createToken'>, 'deployWalletValue' | 'initialSupplyTo' | 'remainingGasTo'> {
    deployWalletValue?: string | number;
    initialSupplyTo?: Address | string;
    remainingGasTo: Address | string;
}
export declare abstract class TvmTokenFactoryUtils {
    static createToken(provider: ProviderRpcClient, factoryAddress: Address | string, params: TvmTokenFactoryCreateTokenAbiParams, args?: Partial<SendInternalParams>): Promise<DelayedMessageExecution>;
    static decodeEvent(connection: ProviderRpcClient, factoryAddress: Address | string, args: DecodeEventParams<typeof TokenFactoryAbi>): Promise<TvmTokenFactoryDecodedEvent | undefined>;
    static decodeTransaction(connection: ProviderRpcClient, factoryAddress: Address | string, args: DecodeTransactionParams<typeof TokenFactoryAbi>): Promise<TvmTokenFactoryDecodedTransaction | undefined>;
    static decodeTransactionEvents(connection: ProviderRpcClient, factoryAddress: Address | string, transaction: Transaction): Promise<TvmTokenFactoryDecodedEvent[]>;
}
