import { ContextManager } from '@zcomponent/core'; import { Observable } from '@zcomponent/core'; import { VideoRecorder } from './index'; export declare enum VideoRecorderUIMode { 'tapAndHold' = "tapAndHold", 'toggle' = "toggle" } export declare enum VideoRecorderUIButtons { 'shareAndSave' = "shareAndSave", 'shareOnly' = "shareOnly", 'saveOnly' = "saveOnly" } export interface VideoRecorderUIConstructorProps { /** * @zui * @zgroup VideoRecorder Advanced * @zgrouppriority 10 * @zdefault video-recorder-ui-effects */ effectsAudioLayer?: string; } /** * @zcomponent * @zicon screen_record * @zgroup Social Sharing */ export declare class VideoRecorderUI extends VideoRecorder { private _captureButtonElement; private _review; private _click; /** * * Controls the visibility of the record button. * * When set to false, the visibility of the button is set to 'hidden'. * * @zprop * @zgroup VideoRecorder * @zdefault true * @zgrouppriority 30 */ visible: Observable; /** * @zui * @zgroup Animations * @zgrouppriority 20 * @zvalues layerclipids */ reviewingLayerClip: Observable; /** * The user experience mode provided by the button. * * **tapAndHold**: a single tap of the record button takes a snapshot, tapping and holding records a video while the button remains pressed * * **toggle**: tapping on the record button starts video recording, tapping again stops it * * @zprop * @zgroup VideoRecorder * @zgrouppriority 30 * @zdefault tapAndHold */ mode: Observable; /** * The user experience mode provided by the button. * * **tapAndHold**: a single tap of the record button takes a snapshot, tapping and holding records a video while the button remains pressed * * **toggle**: tapping on the record button starts video recording, tapping again stops it * * @zprop * @zgroup VideoRecorder * @zgrouppriority 30 * @zdefault true */ showHelpText: Observable; /** * @zprop * @zgroup VideoRecorder * @zgrouppriority 30 * @zdefault true */ showRecordMicrophoneButton: Observable; /** * @zui * @zgroup VideoRecorder * @zgrouppriority 30 * @zdefault video.mp4 */ videoFilename: Observable; /** * @zui * @zgroup VideoRecorder * @zgrouppriority 30 * @zdefault image.jpg */ imageFilename: Observable; /** * @zui * @zgroup VideoRecorder * @zgrouppriority 30 * @zdefault true */ supportTapForPhoto: Observable; /** * The type of image file to be saved. * * @zui * @zgroup VideoRecorder Advanced * @zgrouppriority 10 * @zdefault image/jpeg */ imageMimeType: Observable; /** * Plays an audible 'click' when taking a snapshot or starting to record * * @zui * @zgroup VideoRecorder Advanced * @zgrouppriority 10 * @zdefault true */ playShutterSound: Observable; /** * Help text to show above the record button. * * @zui * @zgroup VideoRecorder Advanced * @zgrouppriority 10 * @ztype text-multiline * @zdefault Tap for Photo\nHold for Video */ helpText: Observable; /** * Controls which buttons are displayed in the review screen. * * **shareAndSave**: Display both share and save buttons * * **shareOnly**: Display only the share button * * **saveOnly**: Display only the save button * * @zprop * @zgroup VideoRecorder * @zgrouppriority 30 * @zdefault shareAndSave */ reviewButtons: Observable; constructor(contextManager: ContextManager, props: VideoRecorderUIConstructorProps); private _updateRecordButton; private _updatePercentage; private _statusUpdate; private _playShutterSound; private _updateReviewButtons; dispose(): never; }