import { TRACE_EVENT_PHASE, TraceEventArgs, TraceEvents } from '@tracerbench/trace-event'; import type { AsyncBeginEventModel, AsyncEndEventModel, AsyncStepIntoEventModel, AsyncStepPastEventModel, BeginEventModel, ClockSyncEventModel, CompleteEventModel, CounterEventModel, CreateObjectEventModel, DeleteObjectEventModel, EndEventModel, EnterContextEventModel, EventModelCommon, EventModelTraceEvents, FlowBeginEventModel, FlowEndEventModel, FlowStepEventModel, InstantEventModel, LeaveContextEventModel, MarkEventModel, MemoryDumpEventModel, MetadataEventModel, NestableAsyncBeginEventModel, NestableAsyncEndEventModel, NestableAsyncInstantEventModel, ProcessId, SampleEventModel, SnapshotObjectEventModel, ThreadId } from '../types'; export declare type EventModelImpls = { [TPhase in TRACE_EVENT_PHASE]: EventModelImpl; }; export declare type EventModelImplUnion = EventModelImpls[TRACE_EVENT_PHASE]; export declare type MetadataEventModelImpl = EventModelImpl; export declare type BeginEventModelImpl = EventModelImpl; export declare type EndEventModelImpl = EventModelImpl; export declare type CompleteEventModelImpl = EventModelImpl; export declare type InstantEventModelImpl = EventModelImpl; export declare type MarkEventModelImpl = EventModelImpl; export default class EventModelImpl implements EventModelCommon { ord: number; pid: ProcessId; tid: ThreadId; ph: TPhase; cat: string | string[]; name: string; start: number; end: number; args: TraceEventArgs; parent: CompleteEventModel | undefined; traceEvent: EventModelTraceEvents[TPhase]; constructor(traceEvent: EventModelTraceEvents[TPhase], ord: number); get duration(): number; isBegin(): this is BeginEventModelImpl; isEnd(): this is EventModelImpl; isComplete(): this is EventModelImpl; isInstant(): this is EventModelImpl; isAsyncBegin(): this is EventModelImpl; isAsyncStepInto(): this is EventModelImpl; isAsyncStepPast(): this is EventModelImpl; isAsyncEnd(): this is EventModelImpl; isNestableAsyncBegin(): this is EventModelImpl; isNestableAsyncEnd(): this is EventModelImpl; isNestableAsyncInstant(): this is EventModelImpl; isFlowBegin(): this is EventModelImpl; isFlowStep(): this is EventModelImpl; isFlowEnd(): this is EventModelImpl; isMetadata(): this is EventModelImpl; isCounter(): this is EventModelImpl; isSample(): this is EventModelImpl; isCreateObject(): this is EventModelImpl; isSnapshotObject(): this is EventModelImpl; isDeleteObject(): this is EventModelImpl; isMemoryDump(): this is EventModelImpl; isMark(): this is EventModelImpl; isClockSync(): this is EventModelImpl; isEnterContext(): this is EventModelImpl; isLeaveContext(): this is EventModelImpl; getArg(name: string): unknown; getStringArg(name: string, defaultValue: string): string; getStringArg(name: string, defaultValue?: undefined): string | undefined; getNumberArg(name: string, defaultValue: number): number; getNumberArg(name: string, defaultValue?: undefined): number | undefined; hasCategory(category: string | ((category: string) => boolean)): boolean; toJSON(): TraceEvents[TPhase]; } //# sourceMappingURL=event-model-impl.d.ts.map