import type { IMultiStepCoachmark } from '@msinternal/sp-coachmark-utility'; import type { IToolbarBasicButton } from '@msinternal/sp-toolbar'; import type { IToolbarButtonBase } from '@msinternal/sp-toolbar'; import type { IToolbarComboboxButton } from '@msinternal/sp-toolbar'; import type { IToolbarDependencyContext } from '@msinternal/sp-toolbar'; import type { IToolbarDropdownButton } from '@msinternal/sp-toolbar'; import type { IToolbarSplitButton } from '@msinternal/sp-toolbar'; import type { IToolbarToggleButton } from '@msinternal/sp-toolbar'; import type * as React_2 from 'react'; /** * The configurations used to define a webpart's top actions. * * @public */ export declare interface ITopActions { /** * List of top actions configurations */ readonly topActions: ITopActionsField[]; /* Excluded from this release type: coachmarks */ /* Excluded from this release type: coachmarksFromUtility */ /** * Triggered once the top action configuration state has been executed for the specified property path * @param actionName - the specified property path that has been altered * @param updatedValue - the updated value passed by top actions for the specified actionName */ onExecute(actionName: string, updatedValue: unknown): void; /* Excluded from this release type: loggerInfo */ } /** * TopActions button props. * * @public */ export declare interface ITopActionsButtonProps { /** * Display text of the element. */ readonly text: string; /** * The button icon to display. */ readonly icon?: string; /** * Description of the action this button takes. */ readonly description?: string; /** * Whether the button is disabled. */ readonly disabled?: boolean; /** * The aria label of the button for the benefit of screen readers. */ readonly ariaLabel?: string; /** * Detailed description of the button for the benefit of screen readers. * *Button types will need more information provided to screen reader. */ readonly ariaDescription?: string; /* Excluded from this release type: themableSvg */ } /* Excluded from this release type: ITopActionsButtonV2Props */ /* Excluded from this release type: _ITopActionsCoachmark */ /* Excluded from this release type: ITopActionsComboboxProps */ /** * TopActions Dropdown option props. * * @public */ export declare interface ITopActionsDropdownOption { /** * Title (tooltip) text displayed when hovering over an item. */ readonly title?: string; /** * A required key to uniquely identify the option. */ readonly key: string | number; /** * The text string for the option. */ readonly text: string; /** * The Icon component props for choice field. */ readonly iconProps?: ITopActionsDropdownOptionIconProps; /** * The src of image for choice field. */ readonly imageSrc?: string; /** * The src of image for choice field which is selected. */ readonly selectedImageSrc?: string; /** * The width and height of the image in px for choice field. */ readonly imageSize?: { readonly width: number; readonly height: number; }; /** * Whether the choice group option is disabled or not. */ readonly disabled?: boolean; /** * Whether the choice group option is checked or not. * * Default value is false. */ readonly checked?: boolean; /** * The aria label of the choice group option for the benefit of screen readers. */ readonly ariaLabel?: string; /* Excluded from this release type: themableSvg */ /** * The data-automation-id property for the dropdown option. */ readonly dataAutomationId?: string; } /** * TopActions Dropdown icon props. * * @public */ export declare interface ITopActionsDropdownOptionIconProps { /** * The name of the icon to use from the Office Fabric icon set. */ readonly officeFabricIconFontName?: string | null; } /** * TopActions Dropdown props. * * @public */ export declare interface ITopActionsDropdownProps { /** * The options for the choice group. */ readonly options: ITopActionsDropdownOption[]; /** * Adds functionality to create an action dropdown where * the selected choice is not highlighted at the top level. * * The TitleButton is always displayed on the toolbar. */ readonly titleButton?: ITopActionsButtonProps; } /* Excluded from this release type: ITopActionsDropdownV2Props */ /** * Configuration used for a single Top Action command. * * @public */ export declare interface ITopActionsField { /** * Display name for the action which can be used in a tooltip or aria-label. */ readonly title?: string; /** * Type of the top actions field. */ readonly type: TopActionsFieldType; /** * Target property from the web part's property bag. */ readonly targetProperty: string; /** * Whether this control should be focused. * * @remarks * The default value is false. */ readonly shouldFocus?: boolean; /** * Strongly typed properties object. Specific to each field type. * * @remarks * Example: Dropdown has ITopActionsChoiceGroupProps, Button has ITopActionsButtonProps props. * * @privateRemarks * - These props are from the office-ui-fabric-react. * These props may not be extensive as the fabric-react ones. This is intentional. * - We are not including any callbacks as part of the props, as this might end up breaking * the internal flow and cause unwanted problems. * - These are in line with property pane props as top actions consumes from the same * source as property pane. * * We are including only those which are supported by the web part framework. */ readonly properties: TProperties; /* Excluded from this release type: dataAutomationId */ } /* Excluded from this release type: ITopActionsFieldCommonProps */ /* Excluded from this release type: ITopActionsSplitProps */ /* Excluded from this release type: ITopActionsToggleProps */ /** * Enum for all the supported Top Actions field types. * * Names should be consistent with those in office-ui-fabric-react, be careful to get letter casing correct. * * @privateRemarks * These mirror `PropertyPaneFieldType` in `sp-property-pane`. We use arbitrary values for those without a corresponding field in `PropertyPaneFieldType`. * * @public */ export declare enum TopActionsFieldType { /* Excluded from this release type: Toggle */ /** * Choice Group field. */ Dropdown = 10, /** * Button field. */ Button = 11, /* Excluded from this release type: Split */ /* Excluded from this release type: Combobox */ } export { }