import { AccountId, ContractId } from '@hashgraph/sdk';
import { EVMConfig } from './wasm-bridge';
export interface EVMCache {
    get(key: string): Promise<string | undefined> | string | undefined;
    set(key: string, value: string): Promise<void> | void;
    delete(key: string): Promise<void> | void;
    clear(): Promise<void> | void;
}
export declare class EVMBridge {
    network: string;
    mirrorNodeUrl: string;
    private cache;
    private logger;
    constructor(network?: string, mirrorNodeUrl?: string, cache?: EVMCache);
    executeCommands(evmConfigs: EVMConfig[], initialState?: Record<string, string>): Promise<{
        results: Record<string, any>;
        stateData: Record<string, any>;
    }>;
    executeCommand(evmConfig: EVMConfig, stateData?: Record<string, string>): Promise<any>;
    readFromMirrorNode(command: string, from: AccountId, to: ContractId): Promise<any>;
    clearCache(): Promise<void>;
    clearCacheForContract(contractAddress: string, functionName: string): Promise<void>;
    setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void;
}
//# sourceMappingURL=evm-bridge.d.ts.map