import { Context } from '../Context';
import { ContractInfo } from './ContractInfoProcessor';
export interface DebugInfo {
    readonly entrypoint: string;
    readonly methods: readonly DebugMethod[];
    readonly events: readonly DebugEvent[];
    readonly documents: readonly string[];
}
interface DebugMethod {
    readonly id: string;
    readonly name: string;
    readonly range: readonly [number, number];
    readonly params: readonly string[];
    readonly returnType: string;
}
interface DebugEvent {
    readonly id: string;
    readonly name: string;
    readonly params: readonly string[];
}
export declare class DebugInfoProcessor {
    private readonly context;
    private readonly contractInfo;
    private readonly sourceFile;
    private readonly endLine;
    constructor(context: Context, contractInfo: ContractInfo);
    process(): DebugInfo;
    private processMethods;
    private getGetterInfo;
    private getSetterInfo;
    private getParameters;
    private paramToABIParameter;
    private getParamSymbolType;
    private checkLastParam;
    private checkLastParamBase;
    private toDebugParameter;
    private toDebugReturn;
    private getSourceRange;
}
export {};
