import { SorobanTransactionPipelineInput, SorobanTransactionPipelineOutput, SorobanTransactionPipelineType } from '../../../../../../stellar-plus/core/pipelines/soroban-transaction/types';
import { StellarPlusError } from '../../../../../../stellar-plus/error';
import { BeltMetadata, BeltPluginType } from '../../../../../../stellar-plus/utils/pipeline/conveyor-belts/types';
import { InnerPlugins } from '../../../../../../stellar-plus/utils/pipeline/plugins/soroban-transaction/profiler/types';
import { ProfilingHandler } from '../../../../../../stellar-plus/utils/profiler/profiling-handler/index';
export declare class ProfilerPlugin implements BeltPluginType<SorobanTransactionPipelineInput, SorobanTransactionPipelineOutput, SorobanTransactionPipelineType> {
    readonly type = SorobanTransactionPipelineType.id;
    readonly name = "ProfilerPlugin";
    private timers;
    private logs;
    data: ProfilingHandler;
    plugins: InnerPlugins[];
    private costHandler;
    constructor();
    preProcess(item: SorobanTransactionPipelineInput, meta: BeltMetadata): Promise<SorobanTransactionPipelineInput>;
    postProcess(item: SorobanTransactionPipelineOutput, meta: BeltMetadata): Promise<SorobanTransactionPipelineOutput>;
    processError(error: StellarPlusError, meta: BeltMetadata): Promise<StellarPlusError>;
    private startTimer;
    private stopTimer;
    private setStatus;
    private verifyLogEntry;
    private createLogEntry;
    private log;
    private extractResources;
    private extractFeeCharged;
    private injectPlugins;
    private getMethodNameFromOperation;
}
