/// import React$1, { PropsWithChildren, ReactNode } from 'react'; import { IconProps } from '@phosphor-icons/react'; export * from '@phosphor-icons/react'; import { DropdownItemProps as DropdownItemProps$1, DropdownMenuProps as DropdownMenuProps$1, ButtonDropdownProps as ButtonDropdownProps$1, DropdownToggleProps as DropdownToggleProps$1, InputProps as InputProps$1, LabelProps as LabelProps$1 } from 'reactstrap'; interface AriaAttributeProps { 'aria-label'?: string; 'aria-labelledby'?: string; } type CoreSpacing = 0 | 1 | 2 | 3 | 4 | 5; type Spacing = CoreSpacing | 'auto'; interface SpacingProps { margin?: Spacing; marginBottom?: Spacing; marginLeft?: Spacing; marginRight?: Spacing; marginTop?: Spacing; marginX?: Spacing; marginY?: Spacing; padding?: Spacing; paddingBottom?: Spacing; paddingLeft?: Spacing; paddingRight?: Spacing; paddingTop?: Spacing; paddingX?: Spacing; paddingY?: Spacing; wrap?: boolean; } interface FlexContainerProps { alignItems?: 'center' | 'start' | 'end' | 'baseline'; direction?: 'row' | 'column'; flex?: boolean | number; justifyContent?: 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'left' | 'right' | 'normal' | 'between' | 'space-around' | 'space-evenly'; wrap?: boolean; } interface FlexItemProps { alignSelf?: 'auto' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'; flexGrow?: 0 | 1; flexShrink?: 0 | 1; } interface OverflowProps { overflow?: 'auto' | 'hidden' | 'scroll'; overflowX?: 'auto' | 'hidden'; overflowY?: 'auto' | 'hidden'; } type DesignSystemColor = 'blue' | 'blue-dark' | 'blue-light' | 'blue-lightest' | 'green' | 'green-dark' | 'green-light' | 'green-lightest' | 'orange' | 'orange-dark' | 'orange-light' | 'orange-lightest' | 'pink' | 'pink-dark' | 'pink-light' | 'pink-lightest' | 'purple' | 'purple-dark' | 'purple-light' | 'purple-lightest' | 'red' | 'red-dark' | 'red-light' | 'red-lightest' | 'yellow' | 'yellow-dark' | 'yellow-light' | 'yellow-lightest' | 'black' | 'gray-darker' | 'gray-dark' | 'gray' | 'gray-light' | 'gray-lighter' | 'white'; type SystemBackgroundColor = DesignSystemColor; type BootstrapColor = 'primary' | 'white' | 'light' | 'gray-light' | 'secondary' | 'success' | 'warning' | 'info' | 'dark' | 'danger'; type BorderWidth = 0 | 1; type BorderRadius = 0 | 1 | 2; interface BorderProps { border?: BorderWidth; borderBottom?: BorderWidth; borderColor?: BootstrapColor; borderLeft?: BorderWidth; borderRadius?: BorderRadius; borderRight?: BorderWidth; borderTop?: BorderWidth; borderX?: BorderWidth; borderY?: BorderWidth; } type TextSize = 1 | 2 | 3; type TextColor = 'danger' | 'warning' | 'success' | 'primary' | DesignSystemColor; interface TextStyleProps { align?: 'left' | 'center' | 'right'; legacyColor?: TextColor; light?: boolean; lineClamp?: 1 | 2 | 3; size?: TextSize; } type BootstrapSize = 'sm' | 'md' | 'lg'; interface ClickableProps$1 { disabled?: boolean; external?: boolean; href?: string; onClick?: React$1.MouseEventHandler; } declare enum LabelPlacement { Left = "Left", Right = "Right" } interface AnchorProps extends ClickableProps$1, Omit, 'onClick' | 'className'> { children: React$1.ReactNode; dark?: boolean; disabled?: boolean; noDecoration?: boolean; } declare const Anchor: React$1.FC; type BadgeColor = 'blue' | 'danger' | 'gray-light' | 'orange-lightest' | 'primary' | 'success' | 'warning' | 'white'; interface BadgeProps extends AriaAttributeProps { children: React$1.ReactNode; color?: BadgeColor; } declare const Badge: React$1.FC; interface BoxProps extends FlexContainerProps, FlexItemProps, OverflowProps, SpacingProps, BorderProps { backgroundColor?: BootstrapColor | SystemBackgroundColor; children: React$1.ReactNode; component?: keyof React$1.ReactHTML; fullHeight?: boolean; fullWidth?: boolean; id?: string; } declare const Box: React$1.ForwardRefExoticComponent>; interface BreadcrumbItem extends Pick { name?: string; names?: string[]; } interface BreadcrumbProps { items: BreadcrumbItem[]; showIcon?: boolean; } declare const Breadcrumb: React$1.FC; type IconComponentType = React.ElementType; type Color = 'primary' | 'secondary' | 'danger' | 'success' | 'warning' | 'white' | 'gray' | 'link' | 'purple' | 'blue' | 'green' | 'red' | 'orange'; type LegacyColor = 'gray-dark' | 'purple' | 'red'; interface ButtonProps extends AriaAttributeProps, Pick, Pick { block?: boolean; children?: React$1.ReactNode; color?: Color; disabled?: boolean; icon?: IconComponentType; id?: string; legacyColor?: LegacyColor; loading?: boolean; nowrap?: boolean; onClick?: React$1.MouseEventHandler; outline?: boolean; size?: BootstrapSize; tight?: boolean; type?: 'submit' | 'reset' | 'button' | undefined; } declare const Button: React$1.ForwardRefExoticComponent>; interface CardProps extends AriaAttributeProps, ClickableProps$1, FlexContainerProps { border?: boolean; children: React$1.ReactNode; 'data-testid'?: string; disabled?: boolean; fill?: boolean; fullHeight?: boolean; fullWidth?: boolean; selected?: boolean; tight?: boolean; } declare const Card: React$1.ForwardRefExoticComponent>; interface CheckboxProps extends AriaAttributeProps { checked: boolean; disabled?: boolean; id?: React$1.HTMLAttributes['id']; label: string; labelPlacement?: LabelPlacement; lightLabel?: boolean; onChange: (event: React$1.ChangeEvent) => void; value?: string; } declare const Checkbox: React$1.FC; interface ClickableProps extends AriaAttributeProps, SpacingProps, BorderProps, FlexContainerProps, ClickableProps$1, Omit, 'onClick' | 'className'> { children: React$1.ReactNode; fullHeight?: boolean; fullWidth?: boolean; hoverColor?: boolean; } declare const Clickable: React$1.ForwardRefExoticComponent>; interface DropdownOption extends AriaAttributeProps { icon?: IconComponentType; key: string; label: React$1.ReactNode; } interface DropdownProps { defaultSelected?: string; defaultText?: string; disabled?: boolean; label?: string; light?: boolean; onReset?: () => void; onSelect: (optionKey: string) => void; options: DropdownOption[]; selected?: string; showReset?: boolean; size?: BootstrapSize; tight?: boolean; truncateText?: boolean; } declare const Dropdown: React$1.FC; type DropdownItemProps = Omit; declare const DropdownItem: React$1.FC; type DropdownMenuProps = Omit; declare const DropdownMenu: React$1.FC; type ButtonDropdownProps = ButtonDropdownProps$1; declare const ButtonDropdown: React$1.FC; type DropdownToggleProps = Omit; declare const DropdownToggle: React$1.FC; interface FancyToggleOption { 'aria-label'?: string; description?: string; disabled?: boolean; key: string; label: React$1.ReactNode; tooltip?: string; } interface FancyToggleProps { defaultSelected?: string; nowrap?: boolean; onChange: (key: string) => void; options: FancyToggleOption[]; textCentered?: boolean; textSize?: TextSize; tight?: boolean; value?: string; vertical?: boolean; } declare const FancyToggle: React$1.FC; interface FormLabelProps { htmlFor?: string; label: string; light?: boolean; } declare const FormLabel: React$1.FC; interface IconAnimationProps extends IconProps { duration?: number; icon: IconComponentType; type: 'spin' | 'scale-in' | 'fade-in' | 'spin-tick'; } declare const IconAnimation: React$1.FC; interface IconBadgeProps extends IconProps { border?: 0 | 1; borderColor?: IconProps['color']; color?: IconProps['color']; colorForeground?: IconProps['color']; icon: IconComponentType; iconBackground?: IconComponentType; sizeForeground?: IconProps['size']; } declare const IconBadge: React$1.FC; type InputProps = InputProps$1; declare const Input: React$1.FC; type LabelProps = LabelProps$1; declare const Label: React$1.FC; type BootstrapNumberColor = 'success' | 'warning' | 'danger' | 'none'; interface LinearPercentageProps extends AriaAttributeProps { boldLabel?: boolean; color?: BootstrapNumberColor; label: React$1.ReactNode; labelPlacement?: LabelPlacement; percent: number; size?: BootstrapSize; } declare const LinearPercentage: React$1.FC; interface StackProps extends Omit, FlexItemProps, OverflowProps, SpacingProps { children: React$1.ReactNode; component?: React$1.ElementType; customDivider?: React$1.ReactNode; divider?: boolean; fullHeight?: boolean; fullWidth?: boolean; id?: string; row?: boolean; spacing?: CoreSpacing; } declare const Stack: React$1.FC; interface ListProps extends Pick { children: React$1.ReactNode; } declare const List: React$1.FC; interface ListItemProps extends AriaAttributeProps, ClickableProps$1, Pick, FlexContainerProps { border?: BorderWidth; children: React$1.ReactNode; fullHeight?: boolean; fullWidth?: boolean; id?: string; tight?: boolean; } declare const ListItem: React$1.ForwardRefExoticComponent>; interface LoaderProps { centered?: boolean; disableText?: boolean; size?: IconProps['size']; small?: boolean; text?: string; top?: boolean; } declare const Loader: React$1.FC; interface LogoProps { icon?: 'primary' | 'color' | 'dark' | 'reverse' | 'hide'; mark?: 'primary' | 'dark' | 'reverse' | 'hide'; } declare const Logo: React$1.FC; interface ModalProps { children: React$1.ReactNode; disablePadding?: boolean; disableScrolling?: boolean; error?: string; footer?: React$1.ReactNode; height?: '60' | '80'; isOpen: boolean; maxWidth?: boolean; size?: 'sm' | 'md' | 'lg' | 'xl'; title?: string; toggleModal: () => void; } declare const Modal: React$1.FC; type Colors = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'blue'; interface PillProps extends AriaAttributeProps, ClickableProps$1 { children: React$1.ReactNode; color?: Colors; small?: boolean; title?: string; } declare const Pill: React$1.FC; declare const CortexPortal: React$1.FC; declare const CortexPortalRoot: React$1.FC; interface ProgressBarProps extends AriaAttributeProps { max?: number; value: number; } declare const ProgressBar: React$1.FC; interface TableColumn { Cell?: React$1.FC; accessor?: string; id: string; title: string; width?: string; } interface TableConfig { columns: TableColumn[]; showHeader?: boolean; } interface SimpleTableProps { config: TableConfig; items: T[]; } declare function SimpleTable({ config, items }: SimpleTableProps): React$1.JSX.Element; declare const Table: React$1.FC; declare enum TabPlacement { Bottom = "Bottom", Left = "Left", Right = "Right" } interface BaseTabItem { name: string; } interface TabItem extends BaseTabItem { badge?: string; count?: number; disabled?: boolean; icon?: IconComponentType; } interface TabsProps { initialTab?: string; onClickCallback?: (tabName: string) => void; placement?: TabPlacement; renderTab: (tabName: string) => React$1.ReactElement; rightComponent?: React$1.ReactNode; tabs: TabItem[]; tabsAnalyticsName?: string; tall?: boolean; } declare const Tabs: React$1.FC; interface TagProps extends Pick, Omit, 'className'> { children: React$1.ReactNode; dark?: boolean; small?: boolean; solid?: boolean; } declare const Tag: React$1.FC; interface BaseTextProps extends Omit, 'className'>, TextStyleProps { bold?: boolean; children: React$1.ReactNode; component?: keyof React$1.ReactHTML; id?: string; italic?: boolean; monospace?: boolean; nowrap?: boolean; underline?: boolean; uppercase?: boolean; } interface LabelTextProps extends BaseTextProps, Omit, 'className'> { children: React$1.ReactNode; component: 'label'; } type TextProps = BaseTextProps | LabelTextProps; declare const Text: React$1.FC; interface TitleProps extends Omit, 'className'> { children: React$1.ReactNode; legacyColor?: 'primary'; level: 1 | 2; noMarginBottom?: boolean; tight?: boolean; } declare const Title: React$1.FC; interface ToggleProps extends AriaAttributeProps { checked?: boolean; defaultChecked?: boolean; disabled?: boolean; id?: string; onChange?: (event: React$1.ChangeEvent) => void; } declare const Toggle: React$1.FC; type TypeaheadModel = string | object; type TypeaheadLabelKey = (option: T) => React$1.ReactChild | React$1.ReactFragment; type TypeaheadProps = { allowNew?: T extends object ? never : boolean; clearable?: boolean; disableSorting?: boolean; disabled?: boolean; id?: string; isLoading?: boolean; labelKey?: TypeaheadLabelKey; multiple?: boolean; onBlur?: () => void; onChange?: (selected: T[]) => void; options: T[]; placeholder?: string; selected?: T[]; sortBy?: (left: T, right: T) => number; } & AriaAttributeProps; declare function Typeahead({ allowNew, disableSorting, labelKey, options, sortBy, clearable, ...otherProps }: TypeaheadProps): React$1.JSX.Element; declare enum PluginContextLocation { Entity = "ENTITY", Global = "GLOBAL" } declare enum CortexUserRoleType { BASIC = "BASIC", CUSTOM = "CUSTOM" } declare enum CortexBasicUserRole { MANAGER = "MANAGER", OWNER = "OWNER", USER = "USER", VIEWER = "VIEWER" } interface CortexUserBasicRole { role: CortexBasicUserRole; type: CortexUserRoleType.BASIC; } interface CortexUserCustomRole { name: string; tag: string; type: CortexUserRoleType.CUSTOM; } type CortexUserRole = CortexUserBasicRole | CortexUserCustomRole; interface CortexUser { email: string; name: string; roles?: CortexUserRole[]; } interface CortexEmailOwner { description: string | null; email: string; } interface PluginEntityOwnership { emails: CortexEmailOwner[]; } interface CortexCatalogEntity { definition: any | null; description: string | null; groups: string[] | null; name: string | null; ownership: PluginEntityOwnership; tag: string; type: string; } interface CortexService extends CortexCatalogEntity { type: 'service'; } interface CortexResource extends CortexCatalogEntity { type: string; } interface CortexDomain extends CortexCatalogEntity { type: 'domain'; } interface CortexContextResponse { apiBaseUrl: string; entity: CortexDomain | CortexResource | CortexService | null; location: PluginContextLocation; style: Record; tag: string; theme: string; user: CortexUser; } interface PluginContextProviderProps extends React$1.PropsWithChildren { monkeyPatchFetch?: boolean; } interface IPluginContext { context: CortexContextResponse; setContext: (context: CortexContextResponse) => void; } declare const PluginContext: React$1.Context; declare const PluginContextProvider: React$1.FC; interface PluginProviderProps extends React$1.PropsWithChildren { monkeyPatchFetch?: boolean; } declare const PluginProvider: React$1.FC; declare const ThemeProvider: ({ children }: { children: ReactNode; }) => React$1.JSX.Element; declare const usePluginContext: () => CortexContextResponse; export { Anchor, AnchorProps, Badge, BadgeColor, BaseTabItem, BaseTextProps, BootstrapNumberColor, Box, BoxProps, Breadcrumb, BreadcrumbItem, Button, ButtonDropdown, ButtonProps, Card, Checkbox, Clickable, ClickableProps, CortexPortal, CortexPortalRoot, Dropdown, DropdownItem, DropdownMenu, DropdownOption, DropdownProps, DropdownToggle, FancyToggle, FancyToggleOption, FancyToggleProps, FormLabel, IPluginContext, IconAnimation, IconBadge, Input, InputProps, Label, LabelProps, LabelTextProps, LinearPercentage, List, ListItem, ListItemProps, Loader, LoaderProps, Logo, Modal, ModalProps, Pill, PillProps, PluginContext, PluginContextProvider, PluginProvider, ProgressBar, ProgressBarProps, SimpleTable, Stack, StackProps, TabItem, TabPlacement, Table, Tabs, TabsProps, Tag, TagProps, Text, TextProps, ThemeProvider, Title, TitleProps, Toggle, ToggleProps, Typeahead, TypeaheadLabelKey, TypeaheadModel, TypeaheadProps, usePluginContext };