import { type Address, type FullContractState, type ProviderRpcClient } from 'everscale-inpage-provider';
export interface TvmSolEventAlienExecuteAccount {
    account: string;
    isSigner: boolean;
    readOnly: boolean;
}
export interface TvmSolEventAlienVoteData {
    eventData: string;
    eventTimestamp: number;
    eventTransactionLt: string;
    executeAccounts: TvmSolEventAlienExecuteAccount[];
    executePayloadAccounts: TvmSolEventAlienExecuteAccount[];
    executePayloadNeeded: boolean;
}
export interface TvmSolEventAlienDecodedData {
    amount: string;
    baseToken: string;
    proxyAddress: Address;
    recipientAddress: string;
    remainingGasTo: Address;
    solanaPayload: string;
    tokenAddress: Address;
    tokenWalletAddress: Address;
}
export interface TvmSolEventAlienEventInitData {
    configuration: Address;
    staking: Address;
    voteData: TvmSolEventAlienVoteData;
}
export interface TvmSolEventAlienDetails {
    balance: string;
    confirms: string[];
    empty: string[];
    eventInitData: TvmSolEventAlienEventInitData;
    initializer: Address;
    meta: string;
    rejects: string[];
    requiredVotes: number;
    status: string;
}
export declare abstract class TvmSolEventAlienUtils {
    static getDecodedData(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TvmSolEventAlienDecodedData>;
    static getDetails(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TvmSolEventAlienDetails>;
    static getEventInitData(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<TvmSolEventAlienEventInitData>;
    static sender(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<Address>;
    static nonce(connection: ProviderRpcClient, eventAddress: Address | string, cachedState?: FullContractState): Promise<string>;
}
