import type { TIcon } from '../../types'; import { VcSoundDownloads, VcSoundPlayerMarkerItem, VcSoundPlayerSize } from '../../types/VcSoundPlayer.types'; interface ISPlayerProps { soundId?: string | number; src: string; currentPlay?: string; /** * @description Icon shown before the current time. Accepts a class * string (legacy `vc-icon-*`) or a Vue component (e.g. a Lucide * icon from `@lucide/vue`). */ preIcon?: TIcon; simple?: boolean; disabled?: boolean; showSkipButtons?: boolean; skipLength?: number; size?: VcSoundPlayerSize; downloadLinks?: VcSoundDownloads; /** * @description Clickable points to render on top of the waveform. * Prefer this prop for the common case (data-driven markers). For * fully custom markers, use the `markers` or `marker` slot instead. */ markers?: VcSoundPlayerMarkerItem[]; /** * @description Eagerly load and decode the audio on mount so the * waveform (and any markers) is rendered without waiting for the * user to press play. Defaults to `true` when `markers` (or the * marker slots) are provided, `false` otherwise. */ preloadSound?: boolean; } declare function initSound(): void; declare function stop(): void; declare function pause(): void; declare function play(): void; declare function setVolume(): void; declare function resetInitSound(): void; declare function skipBackward(): void; declare function skipForward(): void; declare function toTime(time: number): void; declare function download(sound: string): Promise; declare const _default: __VLS_WithTemplateSlots, { soundId: undefined; currentPlay: undefined; simple: boolean; disabled: boolean; showSkipButtons: boolean; size: string; preIcon: string; skipLength: undefined; downloadLinks: () => never[]; markers: () => never[]; preloadSound: undefined; }>>, { download: typeof download; skipForward: typeof skipForward; skipBackward: typeof skipBackward; resetInitSound: typeof resetInitSound; setVolume: typeof setVolume; play: typeof play; pause: typeof pause; stop: typeof stop; initSound: typeof initSound; toTime: typeof toTime; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { ready: (soundId: string) => void; start: (soundId: string | number, src: string) => void; stop: (soundId: string | number, src: string) => void; onPlay: (soundId: string | number, src: string) => void; pause: (soundId: string | number, src: string) => void; "marker-click": (marker: VcSoundPlayerMarkerItem, index: number, time: number, event: MouseEvent | KeyboardEvent) => void; }, string, import("vue").PublicProps, Readonly, { soundId: undefined; currentPlay: undefined; simple: boolean; disabled: boolean; showSkipButtons: boolean; size: string; preIcon: string; skipLength: undefined; downloadLinks: () => never[]; markers: () => never[]; preloadSound: undefined; }>>> & Readonly<{ onStart?: ((soundId: string | number, src: string) => any) | undefined; onPause?: ((soundId: string | number, src: string) => any) | undefined; onStop?: ((soundId: string | number, src: string) => any) | undefined; onOnPlay?: ((soundId: string | number, src: string) => any) | undefined; onReady?: ((soundId: string) => any) | undefined; "onMarker-click"?: ((marker: VcSoundPlayerMarkerItem, index: number, time: number, event: MouseEvent | KeyboardEvent) => any) | undefined; }>, { size: VcSoundPlayerSize; disabled: boolean; markers: VcSoundPlayerMarkerItem[]; soundId: string | number; currentPlay: string; preloadSound: boolean; preIcon: TIcon; simple: boolean; showSkipButtons: boolean; skipLength: number; downloadLinks: VcSoundDownloads; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, { markers?(_: { markers: VcSoundPlayerMarkerItem[]; }): any; marker?(_: { marker: VcSoundPlayerMarkerItem; index: number; time: number; position: number; isPast: boolean; label: string; disabled: boolean; icon: TIcon; }): any; }>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: import('vue').PropType<__VLS_NonUndefinedable>; } : { type: import('vue').PropType; required: true; }; }; type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };