import { IEventEmitter } from '@breadstone/mosaik-elements'; import { IRecorderCancelEventDetail, IRecorderPauseEventDetail, IRecorderResumeEventDetail, IRecorderStartEventDetail, IRecorderStopEventDetail } from '../../../../events'; import { RecorderState } from '../../../../Types/RecorderState'; import { ChatToolBaseElement } from './Abstracts/ChatToolBaseElement'; import { IVoiceRecorderChatToolElementProps } from './IVoiceRecorderChatToolElementProps'; declare const VoiceRecorderChatToolElement_base: (abstract new (...args: Array) => import("../../../../Behaviors/Themeable").IThemeableProps) & typeof ChatToolBaseElement & import("../../../../Behaviors/Themeable").IThemeableCtor; /** * The `VoiceRecorderChatToolElement` element. * * @fires recorderCancel {RecorderCancelEvent} - Called when the recording is canceled. * @fires recorderStart {RecorderStartEvent} - Called when the recording is started. * @fires recorderPause {RecorderPauseEvent} - Called when the recording is paused. * @fires recorderResume {RecorderResumeEvent} - Called when the recording is resumed. * @fires recorderStop {RecorderStopEvent} - Called when the recording is stopped. * * @example * Basic usage inside a chat element tools slot: * ```html * * ``` * * @example * With pause support enabled: * ```html * * ``` * * @public */ export declare class VoiceRecorderChatToolElement extends VoiceRecorderChatToolElement_base implements IVoiceRecorderChatToolElementProps { private readonly _recCancel; private readonly _recStart; private readonly _recPause; private readonly _recResume; private readonly _recStop; private _state; private _elapsedTime; private _maxDurationTime; private _objectUrl; private _canPause; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `state` property. * * @public * @attr */ get state(): RecorderState; set state(value: RecorderState); /** * Gets or sets the `elapsedTime` property. * * @public * @attr */ get elapsedTime(): number; set elapsedTime(value: number); /** * Gets or sets the `maxDurationTime` property. * * @public * @attr */ get maxDurationTime(): number; set maxDurationTime(value: number); /** * Gets or sets the `objectUrl` property. * * @public */ get objectUrl(): string | null; set objectUrl(value: string | null); /** * Gets or sets the `canPause` property. * * @public * @attr */ get canPause(): boolean; set canPause(value: boolean); /** * Called when the recording is canceled. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get recCancel(): IEventEmitter; /** * Called when the recording is resumed. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get recResume(): IEventEmitter; /** * Called when the recording is stopped. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get recStop(): IEventEmitter; /** * Called when the recording is started. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get recStart(): IEventEmitter; /** * Called when the recording is paused. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get recPause(): IEventEmitter; execute(args: unknown): boolean; /** * Emits the `recCancel` event. * * @protected */ protected onRecCancel(args: IRecorderCancelEventDetail): void; /** * Emits the `recStart` event. * * @protected */ protected onRecStart(args: IRecorderStartEventDetail): void; /** * Emits the `recPause` event. * * @protected */ protected onRecPause(args: IRecorderPauseEventDetail): void; /** * Emits the `recResume` event. * * @protected */ protected onRecResume(args: IRecorderResumeEventDetail): void; /** * Emits the `recStop` event. * * @protected */ protected onRecStop(args: IRecorderStopEventDetail): void; } /** * @public */ export declare namespace VoiceRecorderChatToolElement { type Props = IVoiceRecorderChatToolElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-voice-recorder-chat-tool': VoiceRecorderChatToolElement; } } export {}; //# sourceMappingURL=VoiceRecorderChatToolElement.d.ts.map