export declare abstract class NewRelic {
    abstract noticeError(error: Error | Object, customParams?: object): any;
    abstract shutdown(opts: object, cb: (e: any) => void): any;
    abstract setTransactionName(name: string): any;
    abstract startBackgroundTransaction(name: string, group?: string, handle?: () => any): Promise<void>;
    abstract getTransaction(): any;
    abstract setIgnoreTransaction(ignored: Boolean): any;
    abstract addCustomAttributes(attributes: {}): any;
    abstract addCustomAttribute(name: string, value: string | number): any;
    abstract recordMetric(name: string): any;
}
export declare class NewrelicUtil {
    static isNewrelicAvailable(): boolean;
    static getNewrelicIfAvailable(): NewRelic;
    static mockUtil_setNewrelic(newrelic: any): void;
    static noticeError(e: Error, params?: object): void;
    static addCustomAttributes(attributes: {}): void;
    static addCustomAttribute(name: string, value: string | number): void;
    static setIgnoreTransaction(ignored: Boolean): void;
}
