import { Client, Scope, ClientOptions, Event, EventHint, ParameterizedString, SeverityLevel } from '@sentry/core'; import { AppName } from './crossPlatform'; import { MiniappOptions, ReportDialogOptions, SendFeedbackParams } from './types'; import { MiniappTransportOptions } from './transports'; export type MiniappClientOptions = Omit & ClientOptions & { platform: string; /** 小程序宿主标识;与 Sentry 顶层 event.platform 分离。 */ miniappPlatform?: AppName | undefined; }; type DefaultIntegrationsMode = 'enabled' | 'disabled' | 'custom'; export declare function usesCustomTransport(client: MiniappClient): boolean; /** 读取用户传入的 defaultIntegrations 模式,而不是 core 归一化后的空数组。 */ export declare function getConfiguredDefaultIntegrationsMode(client: MiniappClient): DefaultIntegrationsMode; /** init() 会把 defaultIntegrations 归一化为空数组;在绑定后恢复诊断所需的原始语义。 */ export declare function setConfiguredDefaultIntegrationsMode(client: MiniappClient, configured: MiniappOptions['defaultIntegrations']): void; /** * The Sentry Miniapp SDK Client. * * @see MiniappOptions for documentation on configuration options. * @see SentryClient for usage documentation. */ export declare class MiniappClient extends Client { private readonly _disposeCallbacks; /** * Creates a new Miniapp SDK instance. * * @param options Configuration options for this SDK. */ constructor(options?: MiniappOptions | MiniappClientOptions); /** * @inheritDoc */ eventFromException(exception: unknown, hint?: EventHint): PromiseLike; eventFromMessage(message: ParameterizedString, level?: SeverityLevel, hint?: EventHint): PromiseLike; protected _prepareEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike; /** * 用 SDK 采集的 device/os/app 填充事件上下文——**仅填充缺失的键**,不覆盖用户经 * setContext / per-event hint / 其它集成(如 HttpContext 写的 app.name)已提供的值。 * * 必须在 super._prepareEvent **之后**调用:core 以「event 优先」合并 scope contexts * (scopeData.js:`event.contexts = {...scope, ...event}`),若在 super 之前写,SDK 的 * 自动值会盖掉用户的 setContext('device'/'os'/'app')。放到 super 之后按缺失填充即可两头兼顾。 */ private _fillDefaultContexts; /** @inheritDoc */ registerCleanup(callback: () => void): void; /** @inheritDoc */ dispose(): void; /** * 关闭客户端并执行集成通过 `setup(client)` 注册的清理回调。 */ close(timeout?: number): Promise; /** * @deprecated Miniapp environment does not support Sentry's default HTML report dialog. * Please implement your own UI form to collect user feedback (name, email, comments) * and use `Sentry.captureFeedback()` to submit it to Sentry. */ showReportDialog(_options?: ReportDialogOptions): void; /** * Capture feedback using the new feedback API. * 使用新的反馈 API 捕获反馈 * * @param params Feedback parameters * @returns Event ID */ captureFeedback(params: SendFeedbackParams): string; } export {}; //# sourceMappingURL=client.d.ts.map