/// import { VideoStreamOptions } from '../types'; import { ControlBarButtonProps } from './ControlBarButton'; import { IContextualMenuItemStyles, IContextualMenuStyles } from '@fluentui/react'; import { ControlBarButtonStyles } from './ControlBarButton'; import { OptionsDevice } from './DevicesButton'; /** * Strings of CameraButton that can be overridden. * * @public */ export interface CameraButtonStrings { /** 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; /** Tooltip content when the button is disabled due to video loading. */ tooltipVideoLoadingContent?: string; /** * Title of camera menu */ cameraMenuTitle: string; /** * Tooltip of camera menu */ cameraMenuTooltip: string; /** * description of camera button split button role */ cameraButtonSplitRoleDescription?: string; /** * Camera split button aria label for when button is enabled. */ onSplitButtonAriaLabel?: string; /** * Camera split button aria label for when button is disabled. */ offSplitButtonAriaLabel?: string; /** * Camera action turned on string for announcer */ cameraActionTurnedOnAnnouncement?: string; /** * Camera action turned off string for announcer */ cameraActionTurnedOffAnnouncement?: string; /** * Primary action for when the camera is turned off */ offSplitButtonPrimaryActionCamera?: string; /** * Primary action for when the camera is on */ onSplitButtonPrimaryActionCamera?: string; /** * Title for primary action section of split button */ cameraPrimaryActionSplitButtonTitle?: string; /** * Title for video effects menu item */ videoEffectsMenuItemTitle?: string; /** * Aria description for camera button */ cameraButtonAriaDescription?: string; } /** * Styles for {@link CameraButton} * * @public */ export interface CameraButtonStyles extends ControlBarButtonStyles { /** * Styles for the {@link CameraButton} menu. */ menuStyles?: Partial; } /** * Styles for the {@link CameraButton} menu. * * @public */ export interface CameraButtonContextualMenuStyles extends IContextualMenuStyles { /** * Styles for the items inside the {@link CameraButton} button menu. */ menuItemStyles?: IContextualMenuItemStyles; } /** * Props for {@link CameraButton} component. * * @public */ export interface CameraButtonProps extends ControlBarButtonProps { /** * Utility property for using this component with `communication react eventHandlers`. * Maps directly to the `onClick` property. */ onToggleCamera?: (options?: VideoStreamOptions) => Promise; /** * Options for rendering local video view. */ localVideoViewOptions?: VideoStreamOptions; /** * Available cameras for selection */ cameras?: OptionsDevice[]; /** * Camera that is shown as currently selected */ selectedCamera?: OptionsDevice; /** * Callback when a camera is selected */ onSelectCamera?: (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 CameraButton} and the device selection flyout. */ styles?: Partial; /** * Callback when a effects is clicked */ onClickVideoEffects?: (showVideoEffects: boolean) => void; } /** * A button to turn camera on / off. * * Can be used with {@link ControlBar}. * * @public */ export declare const CameraButton: (props: CameraButtonProps) => JSX.Element; //# sourceMappingURL=CameraButton.d.ts.map