import type * as Types from './../types/types.js'; import type * as ModelHandlers from './ModelHandlers.js'; export type FinalizeOptions = Types.Configuration.ParseOptions & { allTraceEvents: readonly Types.Events.Event[]; }; export interface Handler { reset(): void; handleEvent(data: object): void; finalize(options?: FinalizeOptions): Promise; data(): unknown; deps?(): HandlerName[]; handleUserConfig?(config: Types.Configuration.Configuration): void; } export type HandlerName = keyof typeof ModelHandlers; export type EnabledHandlerDataWithMeta> = { Meta: Readonly>; } & { [K in keyof T]: Readonly>; }; export type HandlersWithMeta> = { Meta: typeof ModelHandlers.Meta; } & { [K in keyof T]: T[K]; }; export type ParsedTrace = Readonly>; type DeepWriteable = { -readonly [P in keyof T]: DeepWriteable; }; export type ParsedTraceMutable = DeepWriteable; export type Handlers = typeof ModelHandlers; export {};