import { VoiceClipExpose, VoiceClipProps } from './src/types';
import { default as TxVoiceClip } from './src/TxVoiceClip.vue';
/**
* TxVoiceClip — a recorded voice message as a capsule: a play key, a waveform that is also the
* seek slider, and a countdown. One clip plays at a time across the page; the waveform is decoded
* from the recording when the host does not pass its own peaks.
*
* @example
* ```ts
* import { TxVoiceClip } from '@talex-touch/tuffex/voice-clip'
*
* //
* ```
*
* @public
*/
declare const VoiceClip: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{
onError?: ((error: unknown) => any) | undefined;
onEnded?: (() => any) | undefined;
onPause?: (() => any) | undefined;
onPlay?: (() => any) | undefined;
}>, {
play: () => Promise;
pause: () => void;
toggle: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
error: (error: unknown) => any;
ended: () => any;
pause: () => any;
play: () => any;
}, import('vue').PublicProps, {
src: string;
disabled: boolean;
durationMs: number;
peaks: readonly number[];
playLabel: string;
pauseLabel: string;
seekLabel: string;
unavailableLabel: string;
}, false, {}, {}, Record, Record, string, {
rootRef: HTMLDivElement;
waveRef: HTMLDivElement;
audioRef: HTMLAudioElement;
}, HTMLDivElement, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{
onError?: ((error: unknown) => any) | undefined;
onEnded?: (() => any) | undefined;
onPause?: (() => any) | undefined;
onPlay?: (() => any) | undefined;
}>, {
play: () => Promise;
pause: () => void;
toggle: () => void;
}, {}, {}, {}, {
src: string;
disabled: boolean;
durationMs: number;
peaks: readonly number[];
playLabel: string;
pauseLabel: string;
seekLabel: string;
unavailableLabel: string;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{
onError?: ((error: unknown) => any) | undefined;
onEnded?: (() => any) | undefined;
onPause?: (() => any) | undefined;
onPlay?: (() => any) | undefined;
}>, {
play: () => Promise;
pause: () => void;
toggle: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
error: (error: unknown) => any;
ended: () => any;
pause: () => any;
play: () => any;
}, string, {
src: string;
disabled: boolean;
durationMs: number;
peaks: readonly number[];
playLabel: string;
pauseLabel: string;
seekLabel: string;
unavailableLabel: string;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
export { VoiceClip, TxVoiceClip };
export type { VoiceClipExpose, VoiceClipProps };
export type TxVoiceClipInstance = InstanceType;
export default VoiceClip;