import { ChangeEvent, MouseEvent } from 'react'; import { ActionsBarPosition, ActionsBarItemType } from './enums'; import { ActionsBarInterface, ActionsBarItemProps, ActionsBarButtonProps, ActionsBarSeparatorProps, ActionsBarSelectorProps, SelectOption, ToggleGroupOption, ActionsBarToggleGroupProps } from './types'; import { PluginIconType } from '../common/icon'; import { PluginButtonSize } from '../common/button'; declare class ActionsBarItem implements ActionsBarInterface { id: string; type: ActionsBarItemType; position: ActionsBarPosition; dataTest: string; constructor({ id, type, position, dataTest, }: ActionsBarItemProps); setItemId(id: string): void; } export declare class ActionsBarButton extends ActionsBarItem { label: string; icon: PluginIconType; tooltip: string; onClick: () => void; color: string; circle: boolean; hideLabel: boolean; size: PluginButtonSize; style: React.CSSProperties; /** * Returns object to be used in the setter for action bar. In this case, * a button. * * @param label - label to be displayed in the button * @param icon - icon to be used in the button for the action bar - it can be the iconName * from BigBlueButton or an svg * @param tooltip - tooltip to be displayed when hovering the button * @param dataTest - string attribute to be used for testing * @param onClick - function to be called when clicking the button * @param position - position that this button will be displayed, see {@link ActionsBarPosition} * @param color - button color variant, defaults to 'primary' * @param circle - if true, the action bar button will be displayed as a circle * @param hideLabel - if true, the action bar button label will be visually hidden * @param size - button size variant, defaults to 'lg' * @param style - style of the action bar button * * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5) */ constructor({ id, label, icon, tooltip, dataTest, onClick, position, color, circle, hideLabel, size, style, }: ActionsBarButtonProps); } export declare class ActionsBarSeparator extends ActionsBarItem { icon: PluginIconType; /** * Returns object to be used in the setter for action bar. In this case, * a separator. * * @param position - position that this button will be displayed, see {@link ActionsBarPosition} * @param icon - Icon to be displayed as the separator. If not provided, the default separator * (a vertical bar) will be displayed. * @param dataTest - string attribute to be used for testing * * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5) */ constructor({ position, icon, dataTest, }: ActionsBarSeparatorProps); } export declare class ActionsBarSelector extends ActionsBarItem { title: string; options: SelectOption[]; defaultOption: SelectOption; onChange: (value: string | number, event: ChangeEvent) => void; width: number; /** * Returns object to be used in the setter for action bar. In this case, * a selector. * * @param title - title to be used in the selector for the actions bar * @param options - an array of options to be available in the selector * @param defaultOption - the option to be initially selected, if not present, the first option is * selected * @param dataTest - string attribute to be used for testing * @param onChange - function to be called when selected value changes * @param position - position that this button will be displayed, see {@link ActionsBarPosition} * @param width - desired width for the selector in px, default is 140 * * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5) */ constructor({ id, title, options, defaultOption, dataTest, onChange, position, width, }: ActionsBarSelectorProps); } export declare class ActionsBarToggleGroup extends ActionsBarItem { title: string; exclusive: boolean; options: ToggleGroupOption[]; defaultOption: ToggleGroupOption; onChange: (values: string | number | string[] | number[], event: MouseEvent) => void; /** * Returns object to be used in the setter for action bar. In this case, * a toggle group. * * @param title - title to be used in the selector for the actions bar * @param exclusive - whether the toggle group should be exclusive or not - allow checking * multiple options * @param options - an array of options to be available in the toggle group * @param defaultOption - the option to be initially checked, if not present, the first option is * checked * @param dataTest - string attribute to be used for testing * @param onChange - function to be called when checked value changes * @param position - position that this button will be displayed, see {@link ActionsBarPosition} * * @returns Object that will be interpreted by the core of Bigbluebutton (HTML5) */ constructor({ id, title, exclusive, options, defaultOption, dataTest, onChange, position, }: ActionsBarToggleGroupProps); } export {};