import { SkFont } from '@shopify/react-native-skia'; import { AudioAnalysis, ConsoleLike, DataPoint } from '@siteed/expo-audio-studio'; import React from 'react'; import { AmplitudeScalingMode, AudioVisualizerState, AudioVisualizerTheme, DecibelVisualizationConfig } from './AudioVisualiser.types'; import { CanvasContainerProps } from './CanvasContainer'; import { GestureHandlerProps } from './GestureHandler'; import { NavigationControlsProps } from '../NavigationControls/NavigationControls'; export type AudioVisualiserAction = { type: 'UPDATE_STATE'; state: Partial; }; export interface AudioVisualizerProps { audioData: AudioAnalysis; currentTime?: number; canvasHeight?: number; candleWidth?: number; candleSpace?: number; showDottedLine?: boolean; showRuler?: boolean; showYAxis?: boolean; showSilence?: boolean; showNavigation?: boolean; showSelectedCandle?: boolean; showReferenceLine?: boolean; enableInertia?: GestureHandlerProps['enableInertia']; font?: SkFont; logger?: ConsoleLike; onSelection?: ({ dataPoint, index, }: { dataPoint: DataPoint; index: number; }) => void; mode?: 'static' | 'live'; _visualizationType?: CanvasContainerProps['visualizationType']; playing?: boolean; onSeekEnd?: (newTime: number) => void; theme?: Partial; NavigationControls?: React.ComponentType; disableTapSelection?: boolean; /** Allows parent to set the translateX position */ translateXPosition?: number; /** Callback to notify parent of translateX changes */ onTranslateXChange?: (translateX: number) => void; /** Whether to scale amplitudes to human voice range or use absolute values */ scaleToHumanVoice?: boolean; /** How to scale the amplitude values */ amplitudeScaling?: AmplitudeScalingMode; showDecibelVisualization?: DecibelVisualizationConfig; resetTrigger?: unknown; testID?: string; } export declare const AudioVisualizer: React.FC; //# sourceMappingURL=AudioVisualizer.d.ts.map