export interface ITracer {
    trace(message: string, ...payload: unknown[]): void;
    /**
     * Creates a sub-tracer. Logs when the sub-tracer is created.
     *
     * @param name specifies sections, eg ['Git', 'PullRequest']
     */
    sub(name: string | string[]): ITracer;
    /**
     * Creates a sub-tracer. Does NOT log when the sub-tracer is created.
     *
     * @param name specifies sections, eg ['Git', 'PullRequest']
     */
    subNoEntry(name: string | string[]): ITracer;
    throws(message?: string, ...payload: unknown[]): void;
    returns(message?: string, ...payload: unknown[]): void;
}
export declare function createTracer(section: string | string[], logFn: (message: string) => void): ITracer;
//# sourceMappingURL=tracing.d.ts.map