import type { DISCARDED, HookNamesAsConst, RecursivePartial, RelativeTime, SKIPPED, TelemetryEvent } from '@datadog/browser-core'; import type { LogsEvent } from '../logsEvent.types'; export type DefaultLogsEventAttributes = RecursivePartial; export type DefaultTelemetryEventAttributes = RecursivePartial; export interface HookCallbackMap { [HookNamesAsConst.ASSEMBLE]: (param: { startTime: RelativeTime; }) => DefaultLogsEventAttributes | SKIPPED | DISCARDED; [HookNamesAsConst.ASSEMBLE_TELEMETRY]: (param: { startTime: RelativeTime; }) => DefaultTelemetryEventAttributes | SKIPPED | DISCARDED; } export type Hooks = ReturnType; export declare const createHooks: () => { register(hookName: K, callback: HookCallbackMap[K]): { unregister: () => void; }; triggerHook(hookName: K, param: Parameters[0]): "DISCARDED" | Exclude, "SKIPPED"> | undefined; };