import * as React$1 from 'react'; import React__default, { ComponentProps, AnchorHTMLAttributes, MouseEvent as MouseEvent$1, ReactNode, ReactElement, SyntheticEvent, DOMAttributes, HTMLAttributes, Component, RefObject, FC, PropsWithChildren, ForwardRefExoticComponent, ButtonHTMLAttributes, RefAttributes, ElementType } from 'react'; import { API_KeyCollection } from 'storybook/manager-api'; import { StorybookTheme, CSSObject, FunctionInterpolation } from 'storybook/theming'; import { DecoratorFunction } from 'storybook/internal/csf'; import { Addon_RenderOptions } from 'storybook/internal/types'; interface ComponentSelector { __emotion_styles: any; } /** * @desc Utility type for getting props type of React component. * It takes `defaultProps` into an account - making props with defaults optional. */ type PropsOf> = ReactJSX.LibraryManagedAttributes>; interface Theme { } type IsPreReact19$1 = 2 extends Parameters>['length'] ? true : false; /** @ts-ignore */ type ReactJSXElement = true extends IsPreReact19$1 ? JSX.Element : React.JSX.Element; /** @ts-ignore */ type ReactJSXElementClass = true extends IsPreReact19$1 ? JSX.ElementClass : React.JSX.ElementClass; /** @ts-ignore */ type ReactJSXElementAttributesProperty = true extends IsPreReact19$1 ? JSX.ElementAttributesProperty : React.JSX.ElementAttributesProperty; /** @ts-ignore */ type ReactJSXElementChildrenAttribute = true extends IsPreReact19$1 ? JSX.ElementChildrenAttribute : React.JSX.ElementChildrenAttribute; /** @ts-ignore */ type ReactJSXLibraryManagedAttributes = true extends IsPreReact19$1 ? JSX.LibraryManagedAttributes : React.JSX.LibraryManagedAttributes; /** @ts-ignore */ type ReactJSXIntrinsicAttributes = true extends IsPreReact19$1 ? JSX.IntrinsicAttributes : React.JSX.IntrinsicAttributes; /** @ts-ignore */ type ReactJSXIntrinsicClassAttributes = true extends IsPreReact19$1 ? JSX.IntrinsicClassAttributes : React.JSX.IntrinsicClassAttributes; /** @ts-ignore */ type ReactJSXIntrinsicElements$1 = true extends IsPreReact19$1 ? JSX.IntrinsicElements : React.JSX.IntrinsicElements; /** @ts-ignore */ type ReactJSXElementType = true extends IsPreReact19$1 ? string | React.JSXElementConstructor : React.JSX.ElementType; declare namespace ReactJSX { type ElementType = ReactJSXElementType; interface Element extends ReactJSXElement { } interface ElementClass extends ReactJSXElementClass { } interface ElementAttributesProperty extends ReactJSXElementAttributesProperty { } interface ElementChildrenAttribute extends ReactJSXElementChildrenAttribute { } type LibraryManagedAttributes = ReactJSXLibraryManagedAttributes; interface IntrinsicAttributes extends ReactJSXIntrinsicAttributes { } interface IntrinsicClassAttributes extends ReactJSXIntrinsicClassAttributes { } type IntrinsicElements = ReactJSXIntrinsicElements$1; } type IsPreReact19 = 2 extends Parameters>['length'] ? true : false; /** @ts-ignore */ type ReactJSXIntrinsicElements = true extends IsPreReact19 ? JSX.IntrinsicElements : React.JSX.IntrinsicElements; /** * @typeparam ComponentProps Props which will be included when withComponent is called * @typeparam SpecificComponentProps Props which will *not* be included when withComponent is called */ interface StyledComponent extends React.FC, ComponentSelector { withComponent>>(component: C): StyledComponent, {}, { ref?: React.Ref>; }>; withComponent>>(component: C): StyledComponent>; withComponent(tag: Tag): StyledComponent; } declare const A: StyledComponent & { theme?: Theme; }, {}, {}>; declare const Blockquote: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLQuoteElement>, {}>; declare const DefaultCodeBlock: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLElement>, {}>; declare const Code: ({ className, children, ...props }: ComponentProps) => React__default.JSX.Element; declare const Div: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLDivElement>, {}>; declare const DL: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLDListElement>, {}>; declare const H1: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLHeadingElement>, {}>; declare const H2: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLHeadingElement>, {}>; declare const H3: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLHeadingElement>, {}>; declare const H4: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLHeadingElement>, {}>; declare const H5: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLHeadingElement>, {}>; declare const H6: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLHeadingElement>, {}>; declare const HR: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLHRElement>, {}>; declare const Img: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLImageElement>, {}>; declare const LI: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLLIElement>, {}>; declare const OL: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLOListElement>, {}>; declare const P: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLParagraphElement>, {}>; declare const Pre: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLPreElement>, {}>; declare const Span: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLSpanElement>, {}>; declare const Table: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLTableElement>, {}>; declare const TT: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLTitleElement>, {}>; declare const UL: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLUListElement>, {}>; interface BadgeProps { compact?: boolean; status?: 'positive' | 'negative' | 'neutral' | 'warning' | 'critical' | 'active'; children?: React__default.ReactNode; } declare const Badge: ({ ...props }: BadgeProps) => React__default.JSX.Element; interface LinkStylesProps { secondary?: boolean; tertiary?: boolean; nochrome?: boolean; inverse?: boolean; isButton?: boolean; } interface LinkInnerProps { withArrow?: boolean; containsIcon?: boolean; } type AProps = AnchorHTMLAttributes; interface LinkProps extends LinkInnerProps, LinkStylesProps, AProps { cancel?: boolean; className?: string; style?: object; onClick?: (e: MouseEvent$1) => void; href?: string; } declare const Link$1: React__default.ForwardRefExoticComponent>; declare const DocumentWrapper: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLDivElement>, {}>; declare const supportedLanguages: { jsextra: any; jsx: any; json: any; yml: any; md: any; bash: any; css: any; html: any; tsx: any; typescript: any; graphql: any; }; interface SyntaxHighlighterRendererProps { rows: any[]; stylesheet: string; useInlineStyles: boolean; } type SyntaxHighlighterRenderer = (props: SyntaxHighlighterRendererProps) => ReactNode; interface SyntaxHighlighterCustomProps { language: string; copyable?: boolean; bordered?: boolean; padded?: boolean; format?: SyntaxHighlighterFormatTypes; formatter?: (type: SyntaxHighlighterFormatTypes, source: string) => Promise; className?: string; renderer?: SyntaxHighlighterRenderer; } type SyntaxHighlighterFormatTypes = boolean | 'dedent'; type LineTagPropsFunction = (lineNumber: number) => React.HTMLProps; type SupportedLanguage = 'text' | keyof typeof supportedLanguages; interface SyntaxHighlighterBaseProps { children?: React.ReactNode; codeTagProps?: React.HTMLProps; customStyle?: any; language?: SupportedLanguage; lineNumberStyle?: any; lineProps?: LineTagPropsFunction | React.HTMLProps; showLineNumbers?: boolean; startingLineNumber?: number; wrapLongLines?: boolean; style?: any; useInlineStyles?: boolean; } type SyntaxHighlighterProps = SyntaxHighlighterBaseProps & SyntaxHighlighterCustomProps; declare const LazySyntaxHighlighter: React__default.LazyExoticComponent<(props: ComponentProps<{ ({ children, language, copyable, bordered, padded, format, formatter, className, showLineNumbers, ...rest }: SyntaxHighlighterProps): React__default.JSX.Element | null; registerLanguage(name: string, func: any): void; }>) => React__default.JSX.Element>; declare const LazySyntaxHighlighterWithFormatter: React__default.LazyExoticComponent<(props: ComponentProps<{ ({ children, language, copyable, bordered, padded, format, formatter, className, showLineNumbers, ...rest }: SyntaxHighlighterProps): React__default.JSX.Element | null; registerLanguage(name: string, func: any): void; }>) => React__default.JSX.Element>; declare const SyntaxHighlighter: { (props: ComponentProps | ComponentProps): React__default.JSX.Element; registerLanguage(name: string, func: any): void; }; declare function copyUsingClipboardAPI(text: string): Promise; declare function createCopyToClipboardFunction(): typeof copyUsingClipboardAPI; interface ActionItem { title: string | ReactElement; ariaLabel?: string; className?: string; onClick: (e: MouseEvent$1) => void; disabled?: boolean; } interface ActionBarProps { /** Items to render in this ActionBar. */ actionItems: ActionItem[]; /** * When true, ActionBar aligns to the flex end and inline end of a wrapping row flex container. * When false, ActionBar is positioned absolutely at the bottom right of its relative parent. */ flexLayout?: boolean; } declare const ActionBar: ({ actionItems, flexLayout, ...props }: ActionBarProps) => React__default.JSX.Element; declare module 'react' { interface ReactElement { $$typeof?: symbol | string; } } interface SlotProps extends React$1.HTMLAttributes { children?: React$1.ReactNode; } declare const Slot: React$1.ForwardRefExoticComponent>; interface ButtonProps extends Omit, 'as'> { as?: ComponentProps['as'] | typeof Slot; asChild?: boolean; /** * A concise action label for the button announced by screen readers. Needed for buttons without * text or with text that relies on visual cues to be understood. Pass false to indicate that the * Button's content is already accessible to all. When a string is passed, it is also used as the * default tooltip text. */ ariaLabel?: string | false; /** * An optional tooltip to display when the Button is hovered. If the Button has no text content, * consider making this the same as the aria-label. */ tooltip?: string; /** * Only use this flag when tooltips on button interfere with other keyboard interactions, like * when building a custom select or menu button. Disables tooltips from the `tooltip`, `shortcut` * and `ariaLabel` props. */ disableAllTooltips?: boolean; /** * A more thorough description of what the Button does, provided to non-sighted users through an * aria-describedby attribute. Use sparingly for buttons that trigger complex actions. */ ariaDescription?: string; /** * An optional keyboard shortcut to enable the button. Will be displayed in the tooltip and passed * to aria-keyshortcuts for assistive technologies. The binding of the shortcut and action is * managed globally in the manager's shortcuts module. */ shortcut?: API_KeyCollection; } declare const Button: React__default.ForwardRefExoticComponent & React__default.RefAttributes>; declare const StyledButton: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { size?: "small" | "medium"; padding?: "small" | "medium" | "none"; appearance?: "default" | "agentic"; variant?: "outline" | "solid" | "ghost"; active?: boolean; $disabled?: boolean; readOnly?: boolean; animating?: boolean; animation?: "none" | "rotate360" | "glow" | "jiggle"; }, React__default.DetailedHTMLProps, HTMLButtonElement>, {}>; declare const IconButton: React__default.ForwardRefExoticComponent & React__default.RefAttributes>; interface ToggleButtonProps extends ButtonProps { /** Whether the ToggleButton is currently pressed or not. */ pressed: boolean; } declare const ToggleButton: React__default.ForwardRefExoticComponent & React__default.RefAttributes>; type TransitionStatus = | 'preEnter' | 'entering' | 'entered' | 'preExit' | 'exiting' | 'exited' | 'unmounted'; declare const ActionListAction: StyledComponent & React__default.RefAttributes & { theme?: Theme; }, "ref"> & React__default.RefAttributes & { theme?: Theme; }, {}, {}>; declare const ActionList: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLUListElement>, {}> & { Item: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { active?: boolean; transitionStatus?: TransitionStatus; }, React__default.DetailedHTMLProps, HTMLLIElement>, {}>; HoverItem: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { active?: boolean; transitionStatus?: TransitionStatus; } & React__default.ClassAttributes & React__default.LiHTMLAttributes & { theme?: Theme; } & { targetId: string; }, {}, {}>; Button: React__default.ForwardRefExoticComponent & React__default.RefAttributes & { theme?: Theme; }, "ref"> & React__default.RefAttributes>; Toggle: React__default.ForwardRefExoticComponent & React__default.RefAttributes & { theme?: Theme; }, "ref"> & React__default.RefAttributes>; Action: StyledComponent & React__default.RefAttributes & { theme?: Theme; }, "ref"> & React__default.RefAttributes & { theme?: Theme; }, {}, {}>; Link: (props: ComponentProps & React__default.AnchorHTMLAttributes) => React__default.JSX.Element; Text: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; Icon: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; }; declare const CollapsibleContent: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { collapsed?: boolean; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; declare const Collapsible: (({ children, summary, collapsed, disabled, initialCollapsed, storageKey, state: providedState, ...props }: { children: ReactNode | ((state: ReturnType) => ReactNode); summary?: ReactNode | ((state: ReturnType) => ReactNode); collapsed?: boolean; disabled?: boolean; initialCollapsed?: boolean; storageKey?: string; state?: ReturnType; } & ComponentProps) => React__default.JSX.Element) & { Content: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { collapsed?: boolean; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; }; declare const useCollapsible: ({ collapsed, disabled, initialCollapsed, storageKey, }: { collapsed?: boolean; disabled?: boolean; initialCollapsed?: boolean; storageKey?: string; }) => { contentId: string; isCollapsed: boolean; isDisabled: boolean; setCollapsed: React__default.Dispatch>; toggleCollapsed: (event?: SyntheticEvent) => void; toggleProps: { readonly disabled: boolean | undefined; readonly onClick: (event?: SyntheticEvent) => void; readonly 'aria-controls': string; readonly 'aria-expanded': boolean; }; }; type ThemeColor = keyof StorybookTheme['color'] | keyof StorybookTheme['fgColor']; declare const CardContent: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { color?: ThemeColor; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; interface CardProps extends ComponentProps { outlineAnimation?: 'none' | 'rainbow' | 'spin'; color?: ThemeColor; outlineColor?: ThemeColor; outlineAttrs?: DOMAttributes; } declare const Card: React__default.ForwardRefExoticComponent & React__default.RefAttributes> & { Content: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { color?: ThemeColor; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; Outline: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { animation?: "none" | "rainbow" | "spin"; color?: ThemeColor; outlineColor?: ThemeColor; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; }; /* * Copyright 2020 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ type Placement$1 = 'bottom' | 'bottom left' | 'bottom right' | 'bottom start' | 'bottom end' | 'top' | 'top left' | 'top right' | 'top start' | 'top end' | 'left' | 'left top' | 'left bottom' | 'start' | 'start top' | 'start bottom' | 'right' | 'right top' | 'right bottom' | 'end' | 'end top' | 'end bottom'; interface PositionProps { /** * The placement of the element with respect to its anchor element. * @default 'bottom' */ placement?: Placement$1, /** * The placement padding that should be applied between the element and its * surrounding container. * @default 12 */ containerPadding?: number, /** * The additional offset applied along the main axis between the element and its * anchor element. * @default 0 */ offset?: number, /** * The additional offset applied along the cross axis between the element and its * anchor element. * @default 0 */ crossOffset?: number, /** * Whether the element should flip its orientation (e.g. top to bottom or left to right) when * there is insufficient room for it to render completely. * @default true */ shouldFlip?: boolean, // /** // * The element that should be used as the bounding container when calculating container offset // * or whether it should flip. // */ // boundaryElement?: Element, /** Whether the element is rendered. */ isOpen?: boolean } declare global { namespace FormatjsIntl { interface Message { } interface IntlConfig { } interface Formats { } } } interface TextProps extends HTMLAttributes { elementType?: string; } interface HeadingProps extends HTMLAttributes { level?: number; } declare const Overlay: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { $status?: TransitionStatus; $transitionDuration?: number; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; declare const Container: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { $variant: "dialog" | "bottom-drawer"; $status?: TransitionStatus; $transitionDuration?: number; width?: number | string; height?: number | string; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; interface CloseProps { asChild?: boolean; children?: React__default.ReactElement<{ onClick?: (event: React__default.MouseEvent) => void; }, string | React__default.JSXElementConstructor<{ onClick?: (event: React__default.MouseEvent) => void; }>>; onClick?: (event: React__default.MouseEvent) => void; } declare const Close: ({ asChild, children, onClick, ...props }: CloseProps) => React__default.JSX.Element; declare const Dialog: { Close: () => React__default.JSX.Element; }; declare const CloseButton: ({ ariaLabel, ...props }: React__default.ComponentProps) => React__default.JSX.Element; declare const Content: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; declare const Row: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; declare const Col: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; declare const Header: ({ hasClose, onClose, ...props }: React__default.ComponentProps & { hasClose?: boolean; onClose?: () => void; }) => React__default.JSX.Element; declare const Title: StyledComponent & { theme?: Theme; }, {}, {}>; declare const Description: StyledComponent & { theme?: Theme; }, {}, {}>; declare const Actions: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; declare const ErrorWrapper: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; declare const Error$1: ({ children, ...props }: { children: React__default.ReactNode; } & ComponentProps) => React__default.JSX.Element; declare const Components_Actions: typeof Actions; declare const Components_Close: typeof Close; declare const Components_CloseButton: typeof CloseButton; declare const Components_Col: typeof Col; declare const Components_Container: typeof Container; declare const Components_Content: typeof Content; declare const Components_Description: typeof Description; declare const Components_Dialog: typeof Dialog; declare const Components_ErrorWrapper: typeof ErrorWrapper; declare const Components_Header: typeof Header; declare const Components_Overlay: typeof Overlay; declare const Components_Row: typeof Row; declare const Components_Title: typeof Title; declare namespace Components { export { Components_Actions as Actions, Components_Close as Close, Components_CloseButton as CloseButton, Components_Col as Col, Components_Container as Container, Components_Content as Content, Components_Description as Description, Components_Dialog as Dialog, Error$1 as Error, Components_ErrorWrapper as ErrorWrapper, Components_Header as Header, Components_Overlay as Overlay, Components_Row as Row, Components_Title as Title }; } interface ModalProps extends HTMLAttributes { container?: HTMLElement; portalSelector?: string; /** Width of the Modal. Defaults to `740`. */ width?: number | string; /** Height of the Modal. Defaults to `auto`. */ height?: number | string; /** Modal content. */ children: React__default.ReactNode; /** Additional class names for the Modal. */ className?: string; /** Controlled state: whether the Modal is currently open. */ open?: boolean; /** Uncontrolled state: whether the Modal is initially open on the first. */ defaultOpen?: boolean; /** @deprecated Use `dismissOnEscape` instead. */ onEscapeKeyDown?: (event: KeyboardEvent) => void; /** @deprecated Use `dismissOnInteractOutside` instead. */ onInteractOutside?: (event: FocusEvent | MouseEvent | TouchEvent) => void; /** Handler called when visibility of the Modal changes. */ onOpenChange?: (isOpen: boolean) => void; /** The accessible name for the modal. */ ariaLabel?: string; /** Whether the modal can be dismissed by clicking outside. Defaults to `true`. */ dismissOnClickOutside?: boolean; /** Whether the modal can be dismissed by pressing Escape. Defaults to `true`. */ dismissOnEscape?: boolean; /** Transition duration, so we can slow down transitions on mobile. */ transitionDuration?: number; /** The max dimensions, initial position and animations of the Modal. Defaults to 'dialog'. */ variant?: 'dialog' | 'bottom-drawer'; } declare function BaseModal({ container, portalSelector, children, width, height, ariaLabel, dismissOnClickOutside, dismissOnEscape, className, open, onEscapeKeyDown, onInteractOutside, onOpenChange, defaultOpen, transitionDuration, variant, ...props }: ModalProps): React__default.JSX.Element | null; declare const Modal: typeof BaseModal & typeof Components; /** * Storybook decorator to help render Modals in stories with multiple theme layouts. Internal to * Storybook. Use at your own risk. */ declare const ModalDecorator: DecoratorFunction; interface SpacedProps { children?: React__default.ReactNode; col?: number; row?: number; outer?: number | boolean; } declare const Spaced: ({ col, row, outer, children, ...rest }: SpacedProps) => React__default.JSX.Element; interface PlaceholderProps { children?: React__default.ReactNode; } declare const Placeholder: ({ children, ...props }: PlaceholderProps) => React__default.JSX.Element; interface ScrollAreaProps { children?: React__default.ReactNode; horizontal?: boolean; vertical?: boolean; className?: string; offset?: number; scrollbarSize?: number; scrollPadding?: number | string; /** * Set this to define a tabIndex on the scrollable content; only needed when content has no * interactive elements. */ focusable?: boolean; } declare const ScrollArea: React__default.ForwardRefExoticComponent>; type ZoomProps = { centered?: boolean; scale: number; children: ReactElement | ReactElement[]; }; declare function ZoomElement({ centered, scale, children }: ZoomProps): React__default.JSX.Element; type IZoomIFrameProps = { scale: number; children: ReactElement; iFrameRef: RefObject; active?: boolean; }; declare class ZoomIFrame extends Component { iframe: HTMLIFrameElement; componentDidMount(): void; shouldComponentUpdate(nextProps: IZoomIFrameProps): boolean; setIframeInnerZoom(scale: number): void; setIframeZoom(scale: number): void; render(): React__default.JSX.Element; } declare const Zoom: { Element: typeof ZoomElement; IFrame: typeof ZoomIFrame; }; interface ErrorFormatterProps { error: Error; } declare const ErrorFormatter: ({ error }: ErrorFormatterProps) => React__default.JSX.Element; type Value = string | number | null | boolean | undefined; interface Option { /** Optional rendering of the option. */ children?: React__default.ReactNode; title: string; description?: string; icon?: React__default.ReactNode; aside?: React__default.ReactNode; value: Value; } interface SelectProps extends Omit { size?: 'small' | 'medium'; padding?: 'small' | 'medium' | 'none'; /** * Whether multiple options can be selected. In single select mode, this component acts like a * HTML select element where the selected option follows focus. In multi select mode, it acts like * a combobox and does not autoclose on select or autoselect the focused option. */ multiSelect?: boolean; /** * Mandatory label that explains what is being selected. Do not include "change", "toggle" or * "select" verbs in the label. Instead, only describe the type of content with a noun. */ ariaLabel: string; /** * Label for the Select component. In single-select mode, is replaced by the currently selected * option's title. */ children?: React__default.ReactNode; /** * Icon shown next to the Select's children, still displayed when a value is selected and Select * shows that value instead of children. */ icon?: React__default.ReactNode; /** Whether the Select is currently disabled. */ disabled?: boolean; /** Options available in the select. */ options: Option[]; /** IDs of the preselected options. */ defaultOptions?: Value | Value[]; /** Whether the Select should render open. */ defaultOpen?: boolean; /** When set, a reset option is rendered in the Select listbox. */ onReset?: () => void; /** Custom text label for the reset option when it exists. */ resetLabel?: string; onSelect?: (option: Value) => void; onDeselect?: (option: Value) => void; onChange?: (selected: Value[]) => void; /** * Legacy option for ToolbarMenuSelect. Do not use in new code. Controls whether to show the * selected option's title. * * @default true */ showSelectedOptionTitle?: boolean; } declare const Select: React__default.ForwardRefExoticComponent & React__default.RefAttributes>; type Sizes = '100%' | 'flex' | 'auto'; type Alignments = 'end' | 'center' | 'start'; type ValidationStates = 'valid' | 'error' | 'warn'; /** * These types are copied from `react-textarea-autosize`. I copied them because of * https://github.com/storybookjs/storybook/issues/18734 Maybe there's some bug in `tsup` or * `react-textarea-autosize`? */ type TextareaPropsRaw = React__default.TextareaHTMLAttributes; type Style = Omit, 'maxHeight' | 'minHeight'> & { height?: number; }; type TextareaHeightChangeMeta = { rowHeight: number; }; interface TextareaAutosizeProps extends Omit { maxRows?: number; minRows?: number; onHeightChange?: (height: number, meta: TextareaHeightChangeMeta) => void; cacheMeasurements?: boolean; style?: Style; } interface FieldProps { children?: ReactNode; label?: ReactNode; } declare const Form: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLFormElement>, {}> & { Field: ({ label, children, ...props }: FieldProps) => React$1.JSX.Element; Input: StyledComponent, "align" | "height" | "size" | "valid"> & { size?: Sizes; align?: Alignments; valid?: ValidationStates; height?: number; suffix?: string; }, "ref"> & React$1.RefAttributes & { theme?: Theme; } & Omit, "align" | "height" | "size" | "valid"> & { size?: Sizes; align?: Alignments; valid?: ValidationStates; height?: number; suffix?: string; }, {}, {}> & { displayName: string; }; Select: ({ children, ...props }: Omit, "align" | "height" | "size" | "valid"> & { size?: Sizes; align?: Alignments; valid?: ValidationStates; height?: number; }) => React$1.JSX.Element; Textarea: StyledComponent & { size?: Sizes; align?: Alignments; valid?: ValidationStates; height?: number; } & React$1.RefAttributes, "ref"> & React$1.RefAttributes & { theme?: Theme; } & Omit & { size?: Sizes; align?: Alignments; valid?: ValidationStates; height?: number; } & React$1.RefAttributes, {}, {}> & { displayName: string; }; Button: React$1.ForwardRefExoticComponent & React$1.RefAttributes>; Checkbox: (props: React.InputHTMLAttributes) => React$1.JSX.Element; Radio: (props: React.InputHTMLAttributes) => React$1.JSX.Element; }; type BasicPlacement = 'top' | 'bottom' | 'left' | 'right'; type PlacementWithModifier = 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end'; type PopperPlacement = BasicPlacement | PlacementWithModifier; declare const convertToReactAriaPlacement: (p: PopperPlacement) => NonNullable; interface PopoverProps extends HTMLAttributes { /** Content of the popover. */ children: React__default.ReactNode; /** Preset popover color taken from the theme, affecting both bathground and foreground. */ color?: 'default' | 'inverse' | 'positive' | 'negative' | 'warning' | 'none'; /** Whether the popover is rendered with a decorative window-like appearance. */ hasChrome: boolean; /** Optional callback connected to a close button. Then button is shown only when passed. */ onHide?: () => void; /** Optional custom label for the close button, if there is one. */ hideLabel?: string; /** Padding between the content and popover edge. */ padding?: number | string; } declare const Popover: React__default.ForwardRefExoticComponent>; interface PopoverProviderProps { /** * An accessible label for the popover dialog, announced by screen readers. This prop will become * mandatory in Storybook 11. Provide a concise description of the popover's purpose. */ ariaLabel?: string; /** Whether to display the Popover in a prestyled container. True by default. */ hasChrome?: boolean; /** * Whether to display a close button in the top right corner of the popover overlay. Can overlap * with overlay content, make sure to test your use case. False by default. */ hasCloseButton?: boolean; /** Optional custom label for the close button, if there is one. */ closeLabel?: string; /** Optional custom padding for the popover overlay. */ padding?: number | string; /** Distance between the trigger and Popover. Customize only if you have a good reason to. */ offset?: number; /** * Placement of the Popover. Start and End variants involve additional JS dimension calculations * and should be used sparingly. Left and Right get inverted in RTL. */ placement?: PopperPlacement; /** * Popover content. Pass a function to receive a onHide callback to collect to your close button, * or if you want to wait for the popover to be opened to call your content component. */ popover: ReactNode | ((props: { onHide: () => void; }) => ReactNode); /** Popover trigger, must be a single child with click/press events. Must forward refs. */ children: ReactElement, string>; /** Uncontrolled state: whether the Popover is initially visible. */ defaultVisible?: boolean; /** Controlled state: whether the Popover is visible. */ visible?: boolean; /** Controlled state: fires when user interaction causes the Popover to change visibility. */ onVisibleChange?: (isVisible: boolean) => void; } declare const PopoverProvider: ({ ariaLabel, placement: placementProp, hasChrome, hasCloseButton, closeLabel, offset, padding, popover, children, defaultVisible, visible, onVisibleChange, ...props }: PopoverProviderProps) => React__default.JSX.Element; type TooltipProps = Omit; declare const Tooltip: React__default.ForwardRefExoticComponent>; interface TooltipNoteProps { note: string; } declare const TooltipNote: ({ note, ...props }: TooltipNoteProps) => React__default.JSX.Element; interface TooltipProviderProps { /** Tooltips trigger on hover and focus by default. To trigger on focus only, set this to `true`. */ triggerOnFocusOnly?: boolean; /** Distance between the trigger and tooltip. Customize only if you have a good reason to. */ offset?: number; /** * Placement of the tooltip. Start and End variants involve additional JS dimension calculations * and should be used sparingly. Left and Right get inverted in RTL. */ placement?: PopperPlacement; /** Tooltip content */ tooltip: ReactNode; /** Tooltip trigger, must be a single child that can receive focus and click/key events. */ children: ReactElement, string>; /** Delay before showing the tooltip, defaults to 200ms. Always instant on focus. */ delayShow?: number; /** Delay before hiding the tooltip, defaults to 400ms. */ delayHide?: number; /** Uncontrolled state: whether the tooltip is visible by default. */ defaultVisible?: boolean; /** Deprecated property - use defaultVisible instead. */ startOpen?: boolean; /** Controlled state: whether the tooltip is visible. */ visible?: boolean; /** Controlled state: fires when user interaction causes the tooltip to change visibility. */ onVisibleChange?: (isVisible: boolean) => void; } declare const TooltipProvider: ({ triggerOnFocusOnly, placement: placementProp, offset, tooltip, children, defaultVisible, startOpen, delayShow, delayHide, visible, onVisibleChange, ...props }: TooltipProviderProps) => React__default.JSX.Element; declare const top: "top"; declare const bottom: "bottom"; declare const right: "right"; declare const left: "left"; declare type BasePlacement = typeof top | typeof bottom | typeof right | typeof left; declare type VariationPlacement = "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end"; declare type AutoPlacement = "auto" | "auto-start" | "auto-end"; declare type Placement = AutoPlacement | BasePlacement | VariationPlacement; declare const beforeRead: "beforeRead"; declare const read: "read"; declare const afterRead: "afterRead"; declare const beforeMain: "beforeMain"; declare const main: "main"; declare const afterMain: "afterMain"; declare const beforeWrite: "beforeWrite"; declare const write: "write"; declare const afterWrite: "afterWrite"; declare type ModifierPhases = typeof beforeRead | typeof read | typeof afterRead | typeof beforeMain | typeof main | typeof afterMain | typeof beforeWrite | typeof write | typeof afterWrite; declare type Obj = { [key: string]: any; }; declare type VisualViewport = EventTarget & { width: number; height: number; offsetLeft: number; offsetTop: number; scale: number; }; declare type Window = { innerHeight: number; offsetHeight: number; innerWidth: number; offsetWidth: number; pageXOffset: number; pageYOffset: number; getComputedStyle: typeof getComputedStyle; addEventListener(type: any, listener: any, optionsOrUseCapture?: any): void; removeEventListener(type: any, listener: any, optionsOrUseCapture?: any): void; Element: Element; HTMLElement: HTMLElement; Node: Node; toString(): "[object Window]"; devicePixelRatio: number; visualViewport?: VisualViewport; ShadowRoot: ShadowRoot; }; declare type Rect = { width: number; height: number; x: number; y: number; }; declare type Offsets = { y: number; x: number; }; declare type PositioningStrategy = "absolute" | "fixed"; declare type StateRects = { reference: Rect; popper: Rect; }; declare type OffsetData = { [key in Placement]?: Offsets; }; declare type State = { elements: { reference: Element | VirtualElement; popper: HTMLElement; arrow?: HTMLElement; }; options: OptionsGeneric; placement: Placement; strategy: PositioningStrategy; orderedModifiers: Array>; rects: StateRects; scrollParents: { reference: Array; popper: Array; }; styles: { [key: string]: Partial; }; attributes: { [key: string]: { [key: string]: string | boolean; }; }; modifiersData: { arrow?: { x?: number; y?: number; centerOffset: number; }; hide?: { isReferenceHidden: boolean; hasPopperEscaped: boolean; referenceClippingOffsets: SideObject; popperEscapeOffsets: SideObject; }; offset?: OffsetData; preventOverflow?: Offsets; popperOffsets?: Offsets; [key: string]: any; }; reset: boolean; }; declare type SetAction = S | ((prev: S) => S); declare type Instance = { state: State; destroy: () => void; forceUpdate: () => void; update: () => Promise>; setOptions: (setOptionsAction: SetAction>>) => Promise>; }; declare type ModifierArguments = { state: State; instance: Instance; options: Partial; name: string; }; declare type Modifier = { name: Name; enabled: boolean; phase: ModifierPhases; requires?: Array; requiresIfExists?: Array; fn: (arg0: ModifierArguments) => State | void; effect?: (arg0: ModifierArguments) => (() => void) | void; options?: Partial; data?: Obj; }; declare type Options = { placement: Placement; modifiers: Array>>; strategy: PositioningStrategy; onFirstUpdate?: (arg0: Partial) => void; }; declare type OptionsGeneric = { placement: Placement; modifiers: Array; strategy: PositioningStrategy; onFirstUpdate?: (arg0: Partial) => void; }; declare type SideObject = { top: number; left: number; right: number; bottom: number; }; declare type VirtualElement = { getBoundingClientRect: () => ClientRect | DOMRect; contextElement?: Element; }; declare const createPopper: >>(reference: Element | VirtualElement, popper: HTMLElement, options?: Partial>) => Instance; declare type TriggerType = 'click' | 'double-click' | 'right-click' | 'hover' | 'focus'; declare type Config = { /** * Whether to close the tooltip when its trigger is out of boundary * @default false */ closeOnTriggerHidden?: boolean; /** * Event or events that trigger the tooltip * @default hover */ trigger?: TriggerType | TriggerType[] | null; /** * Delay in hiding the tooltip (ms) * @default 0 */ delayHide?: number; /** * Delay in showing the tooltip (ms) * @default 0 */ delayShow?: number; /** * Whether to make the tooltip spawn at cursor position * @default false */ followCursor?: boolean; /** * Options to MutationObserver, used internally for updating * tooltip position based on its DOM changes * @default { attributes: true, childList: true, subtree: true } */ mutationObserverOptions?: MutationObserverInit | null; /** * Whether tooltip is shown by default * @default false */ defaultVisible?: boolean; /** * Used to create controlled tooltip */ visible?: boolean; /** * Called when the visibility of the tooltip changes */ onVisibleChange?: (state: boolean) => void; /** * If `true`, a click outside the trigger element closes the tooltip * @default true */ closeOnOutsideClick?: boolean; /** * If `true`, hovering the tooltip will keep it open. Normally tooltip closes when the mouse cursor moves out of * the trigger element. If it moves to the tooltip element, the tooltip stays open. * @default false */ interactive?: boolean; /** * Alias for popper.js placement, see https://popper.js.org/docs/v2/constructors/#placement */ placement?: Placement; /** * Shorthand for popper.js offset modifier, see https://popper.js.org/docs/v2/modifiers/offset/ * @default [0, 6] */ offset?: [number, number]; }; declare type PopperOptions = Partial & { createPopper?: typeof createPopper; }; declare const TargetContainer: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { trigger: Config["trigger"]; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; interface WithHideFn { onHide: () => void; } interface WithTooltipPureProps extends Omit, Omit, 'trigger'>, PopperOptions { svg?: boolean; withArrows?: boolean; hasChrome?: boolean; tooltip: ReactNode | ((p: WithHideFn) => ReactNode); children: ReactNode; onDoubleClick?: () => void; /** * If `true`, a click outside the trigger element closes the tooltip * * @default false */ closeOnOutsideClick?: boolean; /** * Optional container to portal the tooltip into. Can be a CSS selector string or a DOM Element. * Falls back to document.body. */ portalContainer?: Element | string | null; } interface WithTooltipStateProps extends Omit { startOpen?: boolean; onVisibleChange?: (visible: boolean) => void | boolean; } declare const LazyWithTooltip: React__default.LazyExoticComponent<({ startOpen, onVisibleChange: onChange, ...rest }: WithTooltipStateProps) => React__default.JSX.Element>; declare const WithTooltip: (props: ComponentProps) => React__default.JSX.Element; declare const LazyWithTooltipPure: React__default.LazyExoticComponent>; declare const WithTooltipPure: (props: ComponentProps) => React__default.JSX.Element; interface TooltipMessageProps { title?: ReactNode; desc?: ReactNode; links?: { title: string; href?: string; onClick?: () => void; }[]; } declare const TooltipMessage: ({ title, desc, links }: TooltipMessageProps) => React__default.JSX.Element; interface ItemProps { disabled?: boolean; href?: string; onClick?: (event: SyntheticEvent, ...args: any[]) => any; } declare const Item: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & ItemProps, React__default.DetailedHTMLProps, HTMLButtonElement>, {}>; type LinkWrapperType = (props: any) => ReactNode; interface ListItemProps extends Omit, 'title'> { loading?: boolean; title?: ReactNode; center?: ReactNode; right?: ReactNode; icon?: ReactNode; input?: ReactNode; active?: boolean; disabled?: boolean; href?: string; LinkWrapper?: LinkWrapperType; isIndented?: boolean; } declare const ListItem: React__default.ForwardRefExoticComponent & React__default.RefAttributes>; declare const List: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; interface NormalLink extends Omit { id: string; onClick?: (event: SyntheticEvent, item: Pick) => void; } type Link = CustomLink | NormalLink; /** * This is a custom link that can be used in the `TooltipLinkList` component. It allows for custom * content to be rendered in the list; it does not have to be a link. */ interface CustomLink { id: string; content: ReactNode; } interface TooltipLinkListProps extends ComponentProps { links: Link[] | Link[][]; LinkWrapper?: LinkWrapperType; } declare const TooltipLinkList: ({ links, LinkWrapper, ...props }: TooltipLinkListProps) => React__default.JSX.Element; declare const TabBar: React__default.ForwardRefExoticComponent & React__default.RefAttributes>; interface TabWrapperProps { active: boolean; render?: () => ReactElement; children?: ReactNode; } declare const TabWrapper: React__default.ForwardRefExoticComponent>; interface TabsProps { children?: ReactElement<{ children: FC; title: ReactNode | FC; }>[]; id?: string; tools?: ReactNode; showToolsWhenEmpty?: boolean; emptyState?: ReactNode; selected?: string; actions?: { onSelect: (id: string) => void; } & Record; backgroundColor?: string; absolute?: boolean; bordered?: boolean; menuName?: string; } declare const Tabs: FC; interface TabsStateProps { children: TabsProps['children']; initial: string; absolute: boolean; bordered: boolean; backgroundColor: string; menuName: string; } interface TabsStateState { selected: string; } declare class TabsState extends Component { static defaultProps: TabsStateProps; constructor(props: TabsStateProps); handlers: { onSelect: (id: string) => void; }; render(): React__default.JSX.Element; } interface TabButtonProps extends ButtonHTMLAttributes { active?: boolean; children: ReactNode; id?: string; textColor?: string; } declare const TabButton: ForwardRefExoticComponent>; interface SeparatorProps { force?: boolean; } declare const Separator: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & SeparatorProps, React__default.DetailedHTMLProps, HTMLSpanElement>, {}>; declare const interleaveSeparators: (list: any[]) => any; interface BarProps { backgroundColor?: string; border?: boolean; className?: string; children?: React__default.ReactNode; scrollable?: boolean; innerStyle?: CSSObject; } declare const Bar: React__default.ForwardRefExoticComponent>; interface FlexBarProps extends BarProps { border?: boolean; backgroundColor?: string; } declare const FlexBar: { ({ children, backgroundColor, className, ...rest }: FlexBarProps): React__default.JSX.Element; displayName: string; }; interface Props { title: React__default.ReactNode; description?: React__default.ReactNode; footer?: React__default.ReactNode; } declare const EmptyTabContent: ({ title, description, footer }: Props) => React__default.JSX.Element; interface AddonPanelProps { active: boolean; children: ReactElement; /** Whether the panel has a vertical scrollbar, `true` by default. */ hasScrollbar?: boolean; /** Whether the panel has an horizontal scrollbar, `false` by default */ hasHorizontalScrollbar?: boolean; } declare const AddonPanel: ({ active, children, hasScrollbar, hasHorizontalScrollbar, }: AddonPanelProps) => React__default.JSX.Element; interface AbstractToolbarProps { className?: string; children?: React__default.ReactNode; 'aria-label'?: string; 'aria-labelledby'?: string; lang?: string; } declare const AbstractToolbar: FC; interface ToolbarProps extends AbstractToolbarProps, BarProps { } declare const Toolbar: FC; interface TabPanelProps extends HTMLAttributes { /** The state of the tab list. Primary mechanism for using the tabpanel. */ state: ReturnType; /** * Whether the panel adds a vertical scrollbar. Disable if you want to use fixed or sticky * positioning on part of the tab's content. True by default. */ hasScrollbar?: boolean; /** * Whether to render only the active tab's content, or all tabs. When true, non-selected tabs are * rendered with the hidden attribute and do not affect the accessibility object model. */ renderAllChildren?: boolean; } declare const TabPanel: FC; interface TabProps { id: string; 'aria-label'?: string; title: FC | ReactNode | string; children?: FC | ReactNode; isDisabled?: boolean; } interface useTabsStateProps { defaultSelected?: string; selected?: string; onSelectionChange?: (key: string) => void; tabs: TabProps[]; } declare const useTabsState: ({ defaultSelected, onSelectionChange, selected, tabs, }: useTabsStateProps) => unknown; interface TabsViewProps extends HTMLAttributes { /** List of tabs and their associated panel. */ tabs: TabProps[]; /** ID of the tab that should be selected on first render. */ defaultSelected?: string; /** ID of the current tab if in controlled rendering mode. */ selected?: string; /** Called when the selected tab changes, use if you want to control the component state. */ onSelectionChange?: (key: string) => void; /** * Optional tools to avoid rendering two toolbars in a layout. * * @warning Only use this if the tools act upon the entire layout, * not upon a single tab panel. If you want to edit which tools are * visible based on the current tab, then you musn't use `tools` and * should handle your own toolbar inside the tabpanel instead. */ tools?: ReactElement; /** Background color for the bar containing the tabs and tools. */ backgroundColor?: string; /** Style properties for the inner layout container in the bar containing the tabs and tools. */ barInnerStyle?: React__default.CSSProperties; /** Show tools instead of the empty state if there are no tabs. */ showToolsWhenEmpty?: boolean; /** Custom UI for the empty state shown when there are no tabs. */ emptyState?: ReactNode; /** Optional ID. */ id?: string; /** Props to pass to the TabPanel component. */ panelProps?: Omit, 'state'>; } declare const TabsView: FC; interface TabListProps extends HTMLAttributes { state: ReturnType; } declare const TabList: FC; interface StatelessTabListProps { children?: ReactNode; } declare const StatelessTabList: FC; interface StatelessTabPanelProps { /** Content of the tab panel. */ children: ReactNode; /** Unique id of the TabPanel, must match that of its corresponding Tab. */ name: string; /** * Whether the panel adds a vertical scrollbar. Disable if you want to use fixed or sticky * positioning on part of the tab's content. True by default. */ hasScrollbar?: boolean; } declare const StatelessTabPanel: FC; interface StatelessTabsViewProps extends Omit { children: ReactNode; } declare const StatelessTabsView: FC; interface StatelessTabProps { /** Unique id of the Tab, must match that of its corresponding TabPanel. */ name: string; /** Tab button content */ children: React__default.ReactNode; } declare const StatelessTab: FC; type StorybookLogoProps = { alt: string; } & React__default.SVGAttributes; declare const StorybookLogo: ({ alt, ...props }: StorybookLogoProps) => React__default.JSX.Element; declare const StorybookIcon: (props: React__default.SVGAttributes) => React__default.JSX.Element; interface Progress { value: number; message: string; modules?: { complete: number; total: number; }; } interface LoaderProps extends React__default.HTMLAttributes { progress?: Progress; error?: Error; size?: number; } declare const Loader: ({ progress, error, size, ...props }: LoaderProps) => React__default.JSX.Element; declare const Wrapper: StyledComponent<{ theme?: Theme; as?: React__default.ElementType; } & { size: number; }, React__default.DetailedHTMLProps, HTMLDivElement>, {}>; interface ProgressSpinnerProps extends Omit, 'size'> { percentage?: number; running?: boolean; size?: number; width?: number; children?: React__default.ReactNode; } declare const ProgressSpinner: ({ percentage, running, size, width, children, ...props }: ProgressSpinnerProps) => React__default.JSX.Element; /** @deprecated Use the api.getStoryHrefs method instead (from `storybook/manager-api`) */ declare const getStoryHref: (baseUrl: string, storyId: string, additionalParams?: Record) => string; declare const nameSpaceClassNames: ({ ...props }: { [x: string]: any; }, key: string) => { [x: string]: any; }; /** * This is a "local" reset to style subtrees with Storybook styles * * We can't style individual elements (e.g. h1, h2, etc.) in here because the CSS specificity is too * high, so those styles can too easily override child elements that are not expecting it. */ declare const ResetWrapper: StyledComponent<{ theme?: Theme; as?: React.ElementType; }, React$1.DetailedHTMLProps, HTMLDivElement>, {}>; declare const codeCommon: FunctionInterpolation; declare const withReset: FunctionInterpolation; interface ClipboardCodeProps { code: string; } declare const ClipboardCode: ({ code, ...props }: ClipboardCodeProps) => React__default.JSX.Element; interface UseCopyButtonOptions { /** Content shown in the button by default. */ children?: T; /** Content shown in the button for `duration` ms after a successful copy. */ childrenOnCopy?: T; /** Text written to the clipboard when the button is clicked. */ content: string; /** Optional side-effect called after the text is successfully written to the clipboard. */ onCopy?: (e: SyntheticEvent) => void; /** aria-label for the button in its default state. Pass `false` to suppress. */ ariaLabel?: false | string; /** aria-label for the button while in its "copied" state. Pass `false` to suppress. */ ariaLabelOnCopy?: false | string; /** Duration in milliseconds to show the copied state. Defaults to 3000. */ duration?: number; } interface UseCopyButtonResult { /** Current label/icon — switches to `childrenOnCopy` after a copy. */ children: T; /** Props to spread onto the `