import { type Address, type FullContractState, type ProviderRpcClient } from 'everscale-inpage-provider';
export interface TokenTransferTvmSolExecuteAccount {
    account: string;
    isSigner: boolean;
    readOnly: boolean;
}
export interface TokenTransferTvmSolEventVoteData {
    eventData: string;
    eventTimestamp: number;
    eventTransactionLt: string;
    executeAccounts: TokenTransferTvmSolExecuteAccount[];
    executePayloadAccounts: TokenTransferTvmSolExecuteAccount[];
    executePayloadNeeded: boolean;
}
export interface TokenTransferTvmSolEventDecodedData {
    senderAddress: Address;
    solanaOwnerAddress: string;
    tokens: string;
}
export interface TokenTransferTvmSolEventEventInitData {
    configuration: Address;
    staking: Address;
    voteData: TokenTransferTvmSolEventVoteData;
}
export declare enum TokenTransferTvmSolStatus {
    Initializing = "0",
    Pending = "1",
    Confirmed = "2",
    Rejected = "3"
}
export interface TokenTransferTvmSolDetails {
    balance: string;
    confirms: string[];
    empty: string[];
    eventInitData: TokenTransferTvmSolEventEventInitData;
    initializer: Address;
    meta: string;
    rejects: string[];
    requiredVotes: number;
    status: TokenTransferTvmSolStatus;
}
/**
 * @deprecated Use TvmSolBaseEventUtils instead
 */
export declare abstract class TokenTransferTvmSolEventUtils {
    static getEventInitData(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TokenTransferTvmSolEventEventInitData>;
    static getDecodedData(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TokenTransferTvmSolEventDecodedData>;
    static getDetails(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TokenTransferTvmSolDetails>;
    static roundNumber(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<number>;
}
