import { SmartContract } from 'o1js';
import { TransactionState, ContractAnalysis } from './Interface.js';
export declare class AUTrace {
    private transactionState;
    private contractAnalyzer;
    private contractAnalysis;
    private auAnalyzer;
    private transactionSnapshots;
    constructor();
    initializeContracts(contracts: SmartContract[]): void;
    getContractAnalysis(): Map<string, ContractAnalysis>;
    getContractAnalysisFor(contractName: string): ContractAnalysis | undefined;
    private traverseTransaction;
    private processAccountUpdate;
    private extractAUMetadata;
    private getTotalFeesInMina;
    private determineAuthorizationType;
    private extractContractType;
    private determineNodeType;
    private isContractAccount;
    private updateBalanceState;
    private buildEdgesFromRelationships;
    clearTransactionState: () => void;
    getTransactionState: (transaction: any) => TransactionState;
    getBlockchainTransactionState: (blockchainTx: any) => TransactionState;
    getTransactions: (...transactionStates: any[]) => void;
    getStateHistory(): any[];
    getBlockchainTxnStateWithFlowAnalysis: (blockchainTx: any) => TransactionState;
}
