export type CrumbType = "crumb" | "scope:enter" | "scope:exit" | "scope:error" | "snapshot" | "assert" | "time" | "session:start" | "session:end"; export type Crumb = { app: string; ts: string; ns: string; msg: string; data?: unknown; dt: number; pid: number; type: CrumbType; ctx?: Record; traceId?: string; depth?: number; tags?: string[]; sid?: string; }; export type CrumbOptions = { tags?: string[]; }; export type ScopeContext = { crumb: TrailFunction; traceId: string; }; export type Session = { id: string; name: string; crumb: (msg: string, data?: unknown, options?: CrumbOptions) => void; end: () => void; }; export type TrailFunction = { (msg: string, data?: unknown, options?: CrumbOptions): void; enabled: boolean; namespace: string; child: (ctx: Record) => TrailFunction; scope: (name: string, fn: (ctx: ScopeContext) => T | Promise) => T | Promise; wrap: any>(name: string, fn: T) => T; time: (label: string) => void; timeEnd: (label: string, data?: unknown) => void; snapshot: (label: string, obj: unknown) => void; assert: (condition: unknown, msg: string) => void; session: { (name: string): Session; (name: string, fn: (session: Session) => T | Promise): T | Promise; }; }; export type Sink = { write(crumb: Crumb): void; flush?(): void | Promise; close?(): void | Promise; }; export type Formatter = { format(crumb: Crumb): string; }; export type AgentCrumbsConfig = { app?: string; ns: string; port?: number; format?: "pretty" | "json"; }; //# sourceMappingURL=types.d.ts.map