export declare class Trace {
    name: string;
    tags: any;
    children: Trace[] | undefined;
    parent: Trace | undefined;
    private startTime?;
    private diff?;
    constructor(name: string, parent?: Trace);
    start(name?: string, tags?: any): Trace;
    end(tags?: any): void;
    addTags(tags: any): void;
    report(depth?: number): string;
    nanoseconds(): number;
    milliseconds(): number;
    static start: (name: string, parent?: Trace | undefined) => Trace;
    static tryStart: (name: string, trace?: Trace | undefined) => Trace;
}
