import { type AbiEventName, type AbiFunctionName, type Address, type DecodedEvent, type DecodedTransaction, type DecodeEventParams, type DecodeTransactionParams, type FullContractState, type ProviderRpcClient, type Transaction } from 'everscale-inpage-provider';
import { type TvmTvmBaseEventAbi } from '../../models/tvm-tvm-base-event/abi';
export interface TvmTvmBaseEventInitData {
    chainId: string;
    configuration: Address;
    msgHash: string;
}
export declare enum TvmTvmBaseEventStatus {
    Initializing = "0",
    Pending = "1",
    Confirmed = "2",
    Rejected = "3",
    Cancelled = "4",
    LimitReached = "5",
    LiquidityRequested = "6",
    LiquidityProvided = "7",
    Verified = "8"
}
export interface TvmTvmBaseEventDetails {
    eventInitData: TvmTvmBaseEventInitData;
    initializer: Address;
    meta: string;
    status: TvmTvmBaseEventStatus;
}
export type TvmTvmBaseEventDecodedEvent = DecodedEvent<typeof TvmTvmBaseEventAbi, AbiEventName<typeof TvmTvmBaseEventAbi>>;
export type TvmTvmBaseEventDecodedTransaction = DecodedTransaction<typeof TvmTvmBaseEventAbi, AbiFunctionName<typeof TvmTvmBaseEventAbi>>;
export declare abstract class TvmTvmBaseEventUtils {
    static getDetails(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TvmTvmBaseEventDetails>;
    static getEventInitData(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TvmTvmBaseEventInitData>;
    static nonce(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<string>;
    static eventInitialBalance(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<string>;
    static decodeEvent(connection: ProviderRpcClient, eventAddress: Address | string, args: DecodeEventParams<typeof TvmTvmBaseEventAbi>): Promise<TvmTvmBaseEventDecodedEvent | undefined>;
    static decodeTransaction(connection: ProviderRpcClient, eventAddress: Address | string, args: DecodeTransactionParams<typeof TvmTvmBaseEventAbi>): Promise<TvmTvmBaseEventDecodedTransaction | undefined>;
    static decodeTransactionEvents(connection: ProviderRpcClient, eventAddress: Address | string, transaction: Transaction): Promise<TvmTvmBaseEventDecodedEvent[]>;
}
