import { Analytics, AnalyticsSettings, InitOptions } from '../core/analytics'; import { Plan } from '../core/events'; import { MetricsOptions } from '../core/stats/remote-metrics'; import { RemotePlugin } from '../plugins/remote-loader'; import type { RoutingRule } from '../plugins/routing-middleware'; import { AnalyticsBuffered } from '../core/buffer'; export interface LegacyIntegrationConfiguration { type?: string; versionSettings?: { version?: string; override?: string; componentTypes?: Array<'browser' | 'android' | 'ios' | 'server'>; }; bundlingStatus?: string; retryQueue?: boolean; [key: string]: any; } export interface LegacySettings { integrations: { [name: string]: LegacyIntegrationConfiguration; }; middlewareSettings?: { routingRules: RoutingRule[]; }; enabledMiddleware?: Record; metrics?: MetricsOptions; plan?: Plan; legacyVideoPluginsEnabled?: boolean; remotePlugins?: RemotePlugin[]; } export interface AnalyticsBrowserSettings extends AnalyticsSettings { /** * The settings for the Segment Source. * If provided, `AnalyticsBrowser` will not fetch remote settings * for the source. */ cdnSettings?: LegacySettings & Record; /** * If provided, will override the default Segment CDN (https://cdn.segment.com) for this application. */ cdnURL?: string; } export declare function loadLegacySettings(writeKey: string, cdnURL?: string): Promise; /** * The public browser interface for this package. * Use AnalyticsBrowser.load to create an instance. */ export declare class AnalyticsBrowser extends AnalyticsBuffered { private constructor(); /** * Instantiates an object exposing Analytics methods. * * ```ts * const ajs = AnalyticsBrowser.load({ writeKey: '' }) * * ajs.track("foo") * ... * ``` */ static load(settings: AnalyticsBrowserSettings, options?: InitOptions): AnalyticsBrowser; static standalone(writeKey: string, options?: InitOptions): Promise; } //# sourceMappingURL=index.d.ts.map