import { type ApplicationErrorReporter } from "../../observability/application-errors.js"; import type { LogRecordEmitter } from "../../utils/logger/index.js"; /** Environment used by node agent service application-error reporting. */ export type NodeAgentServiceApplicationErrorEnv = Record; /** Configuration used by node agent service Sentry application-error reporting. */ export type NodeAgentServiceSentryConfig = { dsn: string; environment: string; release?: string; serviceName: string; }; /** Application-error lifecycle returned by node agent service Sentry initialization. */ export type NodeAgentServiceApplicationErrorLifecycle = { enabled: boolean; captureStartupError(error: unknown): void; flush(timeoutMs?: number): Promise; reset(): void; }; type SentryExtensionModule = { createNodeSentryApplicationErrorReporter(config: Required): ApplicationErrorReporter; }; type SentryExtensionLoader = () => Promise; /** Resolve node agent service Sentry config from environment. */ export declare function resolveNodeAgentServiceSentryConfig(env: NodeAgentServiceApplicationErrorEnv, defaultServiceName?: string): NodeAgentServiceSentryConfig | undefined; /** Convert agent framework error logs to application errors. */ export declare function createNodeAgentServiceLogApplicationErrorEmitter(): LogRecordEmitter; /** * Initialize or replace node agent service Sentry application-error reporting. * * An active lifecycle remains installed while an enabled replacement loads * and is only retired after the replacement reporter is ready to take over. */ export declare function initializeNodeAgentServiceSentryApplicationErrors(options: { env: NodeAgentServiceApplicationErrorEnv; defaultServiceName?: string; loadExtension?: SentryExtensionLoader; flushTimeoutMs?: number; }): Promise; /** Reset node agent service Sentry state for tests. */ export declare function resetNodeAgentServiceSentryForTests(): void; export {}; //# sourceMappingURL=node-sentry.d.ts.map