import React from 'react'; import { Component } from 'react'; import { type NotificationLogProvider } from '@atlaskit/notification-log-client'; export interface ValueUpdatingParams { source: string; visibilityChangesSinceTimer?: number; } export interface ValueUpdatingResult { countOverride?: number; skip?: boolean; } export interface ValueUpdatedParams { newCount: number; oldCount: number; source: string; } export interface Props { appearance?: 'added' | 'default' | 'important' | 'primary' | 'primaryInverted' | 'removed' | 'success' | 'neutral' | 'information' | 'inverse' | 'danger' | 'warning' | 'discovery' | 'successBold' | 'informationBold' | 'dangerBold' | 'warningBold' | 'discoveryBold'; createAnalyticsEvent?: any; max?: number; notificationLogProvider: Promise; onCountUpdated?: (param: ValueUpdatedParams) => void; onCountUpdating?: (param: ValueUpdatingParams) => ValueUpdatingResult; refreshOnHidden?: boolean; refreshOnVisibilityChange?: boolean; refreshRate?: number; ssrInitialValue?: number; } export interface State { count: number | null; } declare class NotificationIndicator extends Component { private intervalId?; private visibilityChangesSinceTimer; private notificationLogProvider?; static defaultProps: Partial; state: State; componentDidMount(): Promise; componentDidUpdate(prevProps: Props): void; componentWillUnmount(): void; private updateInterval; private onVisibilityChange; private shouldRefresh; private timerTick; private handleAnalytics; private refresh; render(): React.JSX.Element | null; } export default NotificationIndicator;