import { OnInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; import * as i0 from "@angular/core"; export interface MiniAudioOptions { visible?: boolean; customStyle?: any; name?: string; showWaveform?: boolean; overlayPosition?: string; barColor?: string; textColor?: string; nameTextStyling?: any; imageSource?: string; roundedImage?: boolean; imageStyle?: any; } export type MiniAudioType = (options: MiniAudioOptions) => HTMLElement; /** * MiniAudio component is a draggable, customizable mini audio player with optional waveform animations. * * @selector app-mini-audio * @standalone true * @imports CommonModule * * @template * ```html * * ``` * * @styles * - `.modal-container`: Positioning and drag area. * - `.card`: The main container styling. * - `.background-image`: Styling for an optional background image. * - `.name-text`: Styling for name text with customizable color. * - `.overlay-web` and `.waveform-web`: Contains and styles the waveform animation bars. * * @inputs * - `visible` (boolean): Show/hide the component. * - `customStyle` (object): Custom styles for the component. * - `name` (string): Text to display as the name. * - `showWaveform` (boolean): Show/hide waveform animations. * - `overlayPosition` (string): Position of the overlay. * - `barColor` (string): Color of waveform bars. * - `textColor` (string): Color of name text. * - `nameTextStyling` (object): Additional styles for the name text. * - `imageSource` (string): URL of the background image. * - `roundedImage` (boolean): If true, applies rounded corners to the image. * - `imageStyle` (object): Custom styles for the image. * * @property `waveformAnimations` (array): Tracks animation states for each waveform bar. * @property `position` (object): Tracks x and y positioning for dragging. * * @methods * - `ngOnInit()`: Starts waveform animations if `showWaveform` is true. * - `ngOnDestroy()`: Clears waveform animation intervals. * - `animateWaveform()`: Sets intervals for each bar's animation. * - `handleMouseDown(event: MouseEvent)`: Starts dragging on mousedown. * - `handleMouseMove(event: MouseEvent)`: Updates position during drag. * - `handleMouseUp()`: Ends dragging on mouseup. * * @example * ```html * * ``` */ export declare class MiniAudio implements OnInit, OnDestroy, OnChanges { visible: boolean; customStyle: any; name: string; showWaveform: boolean; overlayPosition: string; barColor: string; textColor: string; nameTextStyling: any; imageSource: string; roundedImage: boolean; imageStyle: any; waveformAnimations: number[]; intervals: ReturnType[]; timeouts: ReturnType[]; position: { x: number; y: number; }; isDragging: boolean; dragOffset: { x: number; y: number; }; imageLoadFailed: boolean; constructor(injectedVisible: boolean, injectedCustomStyle: any, injectedName: string, injectedShowWaveform: boolean, injectedOverlayPosition: string, injectedBarColor: string, injectedTextColor: string, injectedNameTextStyling: any, injectedImageSource: string, injectedRoundedImage: boolean, injectedImageStyle: any); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; syncWaveformState(): void; animateWaveform(): void; animateBar(index: number): void; resetWaveform(): void; clearIntervals(): void; clearTimeouts(): void; getAnimationDuration(index: number): number; getImageStyle(): any; get hasRenderableImage(): boolean; get fallbackInitials(): string; handleImageError(): void; combineStyles(baseStyle: any, additionalStyles: any): any; handleMouseDown(event: MouseEvent): void; handleMouseMove(event: MouseEvent): void; handleMouseUp(): void; getOverlayPosition(position: string): import("mediasfu-angular").OverlayPositionStyle; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }