import type { AudioEventSubscription } from '../../events'; import { EventEmptyType, EventTypeWithValue } from '../../events/types'; export interface NotificationManager { show(options: TShowOptions): Promise; hide(): Promise; isActive(): Promise; addEventListener(eventName: T, callback: NotificationCallback): AudioEventSubscription | undefined; } export interface PlaybackNotificationInfo { title?: string; artist?: string; album?: string; artwork?: string | { uri: string; }; androidSmallIcon?: string | { uri: string; }; duration?: number; elapsedTime?: number; speed?: number; state?: 'playing' | 'paused'; } export type PlaybackControlName = 'play' | 'pause' | 'stop' | 'nextTrack' | 'previousTrack' | 'skipForward' | 'skipBackward' | 'seekTo'; interface PlaybackNotificationEvent { playbackNotificationPlay: EventEmptyType; playbackNotificationPause: EventEmptyType; playbackNotificationStop: EventEmptyType; playbackNotificationNextTrack: EventEmptyType; playbackNotificationPreviousTrack: EventEmptyType; playbackNotificationSkipForward: EventTypeWithValue; playbackNotificationSkipBackward: EventTypeWithValue; playbackNotificationSeekTo: EventTypeWithValue; playbackNotificationDismissed: EventEmptyType; } export interface RecordingNotificationInfo { title?: string; contentText?: string; paused?: boolean; smallIconResourceName?: string; largeIconResourceName?: string; pauseIconResourceName?: string; resumeIconResourceName?: string; color?: number; } export interface RecordingNotificationEvent { recordingNotificationPause: EventEmptyType; recordingNotificationResume: EventEmptyType; } export type PlaybackNotificationEventName = keyof PlaybackNotificationEvent; export type RecordingNotificationEventName = keyof RecordingNotificationEvent; export type NotificationEvents = PlaybackNotificationEvent & RecordingNotificationEvent; export type NotificationEventName = keyof NotificationEvents; export type NotificationCallback = (event: NotificationEvents[Name]) => void; export {}; //# sourceMappingURL=types.d.ts.map