import type { FirebasePerformance, HttpMetric, HttpMethod, PerformanceTrace, ScreenTrace } from './perf'; export type PerfModularDeprecationArg = string; /** * Namespaced perf instance used by modular entrypoints; methods accept an optional modular deprecation token. */ export interface PerfInternal extends FirebasePerformance { /** * @deprecated Prefer assigning {@link FirebasePerformance.dataCollectionEnabled}. */ setPerformanceCollectionEnabled(enabled: boolean): Promise; newTrace(name: string, deprecationArg?: PerfModularDeprecationArg): PerformanceTrace; startTrace(name: string, deprecationArg?: PerfModularDeprecationArg): Promise; newScreenTrace(screenName: string, deprecationArg?: PerfModularDeprecationArg): ScreenTrace; startScreenTrace(screenName: string, deprecationArg?: PerfModularDeprecationArg): Promise; newHttpMetric(url: string, httpMethod: HttpMethod, deprecationArg?: PerfModularDeprecationArg): HttpMetric; } export interface RNFBPerfTraceData { metrics: Record; attributes: Record; } export interface RNFBPerfHttpMetricData { attributes: Record; httpResponseCode?: number; requestPayloadSize?: number; responsePayloadSize?: number; responseContentType?: string; } export interface RNFBPerfNativeModule { isPerformanceCollectionEnabled: boolean; isInstrumentationEnabled: boolean; setPerformanceCollectionEnabled(enabled: boolean): Promise; instrumentationEnabled(enabled: boolean): Promise; startTrace(id: number, identifier: string): Promise; stopTrace(id: number, traceData: RNFBPerfTraceData): Promise; startHttpMetric(id: number, url: string, httpMethod: HttpMethod): Promise; stopHttpMetric(id: number, metricData: RNFBPerfHttpMetricData): Promise; startScreenTrace(id: number, identifier: string): Promise; stopScreenTrace(id: number): Promise; } declare module '@react-native-firebase/app/dist/module/internal/NativeModules' { interface ReactNativeFirebaseNativeModules { RNFBPerfModule: RNFBPerfNativeModule; } } //# sourceMappingURL=internal.d.ts.map