<!-- API Report Version: 2.3 -->

## API Report File for "@atlaskit/analytics-listeners"

> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)

### Table of contents

- [Main Entry Types](#main-entry-types)
- [Peer Dependencies](#peer-dependencies)

### Main Entry Types

<!--SECTION START: Main Entry Types-->

```ts
/// <reference types="react" />

import { GasPurePayload } from '@atlaskit/analytics-gas-types';
import { GasPureScreenEventPayload } from '@atlaskit/analytics-gas-types';
import { default as React_2 } from 'react';

// @public (undocumented)
export type AnalyticsWebClient = {
	sendUIEvent: (event: GasPurePayload) => void;
	sendOperationalEvent: (event: GasPurePayload) => void;
	sendTrackEvent: (event: GasPurePayload) => void;
	sendScreenEvent: (event: GasPureScreenEventPayload) => void;
};

// @public (undocumented)
class FabricAnalyticsListeners extends React_2.Component<Props> {
	constructor(props: Props);
	// (undocumented)
	logger: Logger;
	// (undocumented)
	render():
		| React_2.ReactChild
		| React_2.ReactFragment
		| React_2.ReactPortal
		| boolean
		| null
		| undefined;
}
export default FabricAnalyticsListeners;

// @public (undocumented)
export enum FabricChannel {
	// (undocumented)
	atlas = 'atlas',
	// (undocumented)
	atlaskit = 'atlaskit',
	// (undocumented)
	crossFlow = 'crossFlow',
	// (undocumented)
	editor = 'editor',
	// (undocumented)
	elements = 'fabric-elements',
	// (undocumented)
	linkingPlatform = 'linkingPlatform',
	// (undocumented)
	media = 'media',
	// (undocumented)
	navigation = 'navigation',
	// (undocumented)
	notifications = 'notifications',
	// (undocumented)
	peopleTeams = 'peopleTeams',
	// (undocumented)
	recentWork = 'recentWork',
}

// @public (undocumented)
export const LOG_LEVEL: {
	DEBUG: number;
	INFO: number;
	WARN: number;
	ERROR: number;
	OFF: number;
};

// @public (undocumented)
class Logger {
	constructor({ logLevel }?: { logLevel?: number });
	// (undocumented)
	debug(...args: any[]): void;
	// (undocumented)
	error(...args: any[]): void;
	// (undocumented)
	info(...args: any[]): void;
	// (undocumented)
	logLevel: number;
	// (undocumented)
	logMessage(
		level: number,
		type: keyof Pick<Console, 'error' | 'info' | 'log' | 'warn'>,
		...args: any[]
	): void;
	// (undocumented)
	setLogLevel(logLevel: number): void;
	// (undocumented)
	warn(...args: any[]): void;
}

// @public (undocumented)
type Props = {
	children?: React_2.ReactNode;
	client?: AnalyticsWebClient | Promise<AnalyticsWebClient>;
	logLevel?: number;
	excludedChannels?: FabricChannel[];
};

// (No @packageDocumentation comment for this package)
```

<!--SECTION END: Main Entry Types-->

### Peer Dependencies

<!--SECTION START: Peer Dependencies-->

```json
{
	"react": "^16.8.0"
}
```

<!--SECTION END: Peer Dependencies-->
