import { ConsoleLike, DataPoint } from '@siteed/expo-audio-studio'; import { TextStyle, ViewStyle } from 'react-native'; import { SharedValue } from 'react-native-reanimated'; import { DecibelGaugeTheme } from '../DecibelGauge/DecibelGauge'; import { DecibelMeterTheme } from '../DecibelMeter/DecibelMeter'; export interface DecibelVisualizationConfig { type: 'gauge' | 'meter'; position: 'top' | 'bottom' | 'left' | 'right' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight'; orientation?: 'horizontal' | 'vertical'; offset?: { x?: number; y?: number; }; dimensions?: { width?: number; height?: number; length?: number; }; theme?: Partial; } export interface AudioVisualizerTheme { container: ViewStyle; navigationContainer: ViewStyle; canvasContainer: ViewStyle; referenceLine: ViewStyle; text: TextStyle; button: ViewStyle; buttonText: TextStyle; dottedLineColor: string; yAxis: { tickColor: string; labelColor: string; }; timeRuler: { tickColor: string; labelColor: string; }; candle: { activeAudioColor?: string; activeSpeechColor?: string; offcanvasColor?: string; selectedColor?: string; }; decibelVisualization?: DecibelVisualizationConfig; } export type AmplitudeScalingMode = 'raw' | 'normalized' | 'humanVoice'; export interface CalculateReferenceLinePositionParams { canvasWidth: number; referenceLinePosition: 'MIDDLE' | 'RIGHT'; } export interface GetStylesParams { canvasWidth: number; referenceLineX: number; } export interface SyncTranslateXParams { currentTime: number; durationMs: number; maxTranslateX: number; minTranslateX: number; translateX: SharedValue; } export interface DrawDottedLineParams { canvasWidth: number; canvasHeight: number; } export interface CandleData extends DataPoint { visible: boolean; } export interface AudioVisualizerState { ready: boolean; triggerUpdate: number; canvasWidth: number; currentTime?: number; hasInitialized: boolean; selectedCandle: CandleData | null; selectedIndex: number; } export interface UpdateActivePointsParams { x: number; logger?: ConsoleLike; context: { dataPoints: DataPoint[]; activePoints: CandleData[]; maxDisplayedItems: number; referenceLineX: number; mode: 'static' | 'live'; range: { start: number; end: number; startVisibleIndex: number; endVisibleIndex: number; }; candleWidth: number; candleSpace: number; }; } export interface UpdateActivePointsResult { activePoints: CandleData[]; range: { start: number; end: number; startVisibleIndex: number; endVisibleIndex: number; }; lastUpdatedTranslateX: number; } //# sourceMappingURL=AudioVisualiser.types.d.ts.map