///
import { ControlBarButtonProps } from './ControlBarButton';
import { IContextualMenuItemStyles, IContextualMenuStyles } from '@fluentui/react';
import { ControlBarButtonStyles } from './ControlBarButton';
import { OptionsDevice } from './DevicesButton';
/**
* Strings of {@link MicrophoneButton} that can be overridden.
*
* @public
*/
export interface MicrophoneButtonStrings {
/** Label when button is on. */
onLabel: string;
/** Label when button is off. */
offLabel: string;
/** * Tooltip content when the button is disabled. */
tooltipDisabledContent?: string;
/** Tooltip content when the button is on. */
tooltipOnContent?: string;
/** Tooltip content when the button is off. */
tooltipOffContent?: string;
/**
* Title of microphone menu
*/
microphoneMenuTitle?: string;
/**
* Title of speaker menu
*/
speakerMenuTitle?: string;
/**
* Tooltip of microphone menu
*/
microphoneMenuTooltip?: string;
/**
* Tooltip of speaker menu
*/
speakerMenuTooltip?: string;
/**
* Description of microphone button split button role
*/
microphoneButtonSplitRoleDescription?: string;
/**
* Microphone split button aria label when mic is enabled.
*/
onSplitButtonAriaLabel?: string;
/**
* Microphone split button aria label when mic is disabled.
*/
offSplitButtonAriaLabel?: string;
/**
* Microphone action turned on string for announcer
*/
microphoneActionTurnedOnAnnouncement?: string;
/**
* Microphone action turned off string for announcer
*/
microphoneActionTurnedOffAnnouncement?: string;
/**
* Primary action for the microphone when microphone is live.
*/
onSplitButtonMicrophonePrimaryAction?: string;
/**
* Primary action for the microphone when the microphone is muted.
*/
offSplitButtonMicrophonePrimaryAction?: string;
/**
* Title for primary action section of split button
*/
microphonePrimaryActionSplitButtonTitle?: string;
/**
* Aria description for the microphone button
*/
microphoneAriaDescription?: string;
/**
* Title for deep noise suppression button
*/
deepNoiseSuppressionTitle?: string;
/**
* Noise Suppression turned on string for announcer
*/
deepNoiseSuppressionOnAnnouncement?: string;
/**
* Noise Suppression turned off string for announcer
*/
deepNoiseSuppressionOffAnnouncement?: string;
}
/**
* Styles for {@link MicrophoneButton}
*
* @public
*/
export interface MicrophoneButtonStyles extends ControlBarButtonStyles {
/**
* Styles for the {@link MicrophoneButton} menu.
*/
menuStyles?: Partial;
}
/**
* Styles for the {@link MicrophoneButton} menu.
*
* @public
*/
export interface MicrophoneButtonContextualMenuStyles extends IContextualMenuStyles {
/**
* Styles for the items inside the {@link MicrophoneButton} button menu.
*/
menuItemStyles?: IContextualMenuItemStyles;
}
/**
* Props for {@link MicrophoneButton}.
*
* @public
*/
export interface MicrophoneButtonProps extends ControlBarButtonProps {
/**
* Utility property for using this component with `communication react eventHandlers`.
* Maps directly to the `onClick` property.
*/
onToggleMicrophone?: () => Promise;
/**
* Available microphones for selection
*/
microphones?: OptionsDevice[];
/**
* Available speakers for selection
*/
speakers?: OptionsDevice[];
/**
* Microphone that is shown as currently selected
*/
selectedMicrophone?: OptionsDevice;
/**
* Speaker that is shown as currently selected
*/
selectedSpeaker?: OptionsDevice;
/**
* Callback when a microphone is selected
*/
onSelectMicrophone?: (device: OptionsDevice) => Promise;
/**
* Speaker when a speaker is selected
*/
onSelectSpeaker?: (device: OptionsDevice) => Promise;
/**
* Whether to use a {@link SplitButton} with a {@link IContextualMenu} for device selection.
*
* default: false
*/
enableDeviceSelectionMenu?: boolean;
/**
* Optional strings to override in component
*/
strings?: Partial;
/**
* Styles for {@link MicrophoneButton} and the device selection flyout.
*/
styles?: Partial;
/**
* Whether the deep noise suppression is on or off
*/
isDeepNoiseSuppressionOn?: boolean;
/**
* Callback when noise suppression is clicked
*/
onClickNoiseSuppression?: () => void;
/**
* Show/Hide the deep noise suppression button
*/
showNoiseSuppressionButton?: boolean;
}
/**
* A button to turn microphone on / off.
*
* Can be used with {@link ControlBar}.
*
* @public
*/
export declare const MicrophoneButton: (props: MicrophoneButtonProps) => JSX.Element;
//# sourceMappingURL=MicrophoneButton.d.ts.map