import { type Address, type FullContractState, type ProviderRpcClient } from 'everscale-inpage-provider';
export interface TokenTransferSolTvmEventVoteData {
    accountSeed: string;
    blockTime: string;
    eventData: string;
    slot: string;
    txSignature: string;
}
export interface TokenTransferSolTvmEventDecodedData {
    receiverAddress: Address;
    senderAddress: string;
    tokens: string;
}
export interface TokenTransferSolTvmEventEventInitData {
    configuration: Address;
    staking: Address;
    voteData: TokenTransferSolTvmEventVoteData;
}
export declare enum TokenTransferSolTvmStatus {
    Initializing = "0",
    Pending = "1",
    Confirmed = "2",
    Rejected = "3"
}
export interface TokenTransferSolTvmDetails {
    balance: string;
    confirms: string[];
    empty: string[];
    eventInitData: TokenTransferSolTvmEventEventInitData;
    initializer: Address;
    meta: string;
    rejects: string[];
    requiredVotes: number;
    status: TokenTransferSolTvmStatus;
}
/**
 * @deprecated Use SolTvmBaseEventUtils instead
 */
export declare abstract class TokenTransferSolTvmEventUtils {
    static getEventInitData(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TokenTransferSolTvmEventEventInitData>;
    static getDecodedData(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TokenTransferSolTvmEventDecodedData>;
    static getDetails(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TokenTransferSolTvmDetails>;
    static roundNumber(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<number>;
}
