/// 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