import { IEventSnapshot, INVError } from "./Snapshot"; import { IProfileData } from "../apis/ProfilerService"; /** * This is a decorator that is called when a bit of data is to be transferred to NerdVision. * The decorators can add meta data to the context before it travels from the client */ export interface IDecorator { /** * This is the name of the decorator and will be the tab name in the UI */ name: string; /** * This function is called before the data is to be shipped * * @param data the full event that is being shipped * * @return the name and data to append to the snapshot, or null to skip this data block */ decorate(data: IEventSnapshot | INVError | IProfileData): { name: string; data: Record; } | null | Promise<{ name: string; data: Record; }> | Promise; } export declare class ClientConfig { private _redactionBlackList; private _redactionSkipList; private _maxProcessTime; private _maxLineTps; private _decorators; tags: Record; session: string; get maxProcessTime(): number; get maxLineTps(): number; get decorators(): Record; updateConfig(newValues: Record): void; blackListed(key: string): boolean; skipListed(key: string): boolean; appendDecorator(decorator: IDecorator): string; removeDecorator(id: string): IDecorator; }