UNPKG

suomifi-ui-components

Version:
1,399 lines (1,308 loc) 55.7 kB
import React$1, { HTMLProps, ReactNode, ButtonHTMLAttributes, ReactElement, FocusEvent, RefObject, CSSProperties, ChangeEvent } from 'react'; import { ColorDesignTokens, TypographyDesignTokens, SpacingDesignTokens, GradientDesignTokens, FocusDesignTokens, RadiusDesignTokens, ShadowDesignTokens, TransitionDesignTokens, RawDesignTokens, BreakpointDesignTokens } from 'suomifi-design-tokens'; export { ColorDesignTokens, ColorToken, DesignTokens, RawColorDesignTokens, RawDesignTokens, RawSpacingDesignTokens, RawTypographyDesignTokens, SpacingDesignTokens, TypographyDesignTokens, TypographyToken, ValueUnit, suomifiDesignTokens } from 'suomifi-design-tokens'; export * from 'suomifi-icons'; type asPropType = keyof JSX.IntrinsicElements | React.ComponentType<any>; interface HtmlAProps extends Omit<HTMLProps<HTMLAnchorElement>, 'ref' | 'as'> { children: ReactNode; as?: asPropType; } interface HtmlButtonProps extends Omit<HTMLProps<HTMLButtonElement>, 'ref' | 'as'> { as?: asPropType; type?: ButtonHTMLAttributes<HTMLButtonElement>['type']; forwardedRef?: React$1.Ref<HTMLButtonElement>; } interface HtmlDivProps extends Omit<HTMLProps<HTMLDivElement>, 'ref' | 'as'> { asProp?: asPropType; } interface HtmlDivWithRefProps extends HtmlDivProps { forwardedRef?: React$1.Ref<HTMLDivElement>; } type hLevels = 'h1' | 'h2' | 'h3' | 'h4' | 'h5'; interface HtmlHProps extends Omit<HTMLProps<HTMLHeadingElement>, 'ref' | 'as'> { as?: asPropType; } interface HtmlInputProps extends Omit<HTMLProps<HTMLInputElement>, 'ref' | 'as'> { as?: asPropType; type?: string; forwardedRef?: React$1.Ref<HTMLInputElement> | React$1.RefObject<HTMLInputElement>; } interface HtmlLiProps extends Omit<HTMLProps<HTMLLIElement>, 'as'> { as?: asPropType; forwardedRef?: React$1.Ref<HTMLLIElement>; } interface HtmlNavProps extends Omit<HTMLProps<HTMLElement>, 'ref' | 'as'> { as?: asPropType; forwardedRef?: React$1.Ref<HTMLElement>; } interface HtmlSpanProps extends Omit<HTMLProps<HTMLSpanElement>, 'ref' | 'as'> { asProp?: asPropType; } interface HtmlTextareaProps extends Omit<HTMLProps<HTMLTextAreaElement>, 'ref' | 'as'> { as?: asPropType; forwardedRef?: React$1.Ref<HTMLTextAreaElement>; } interface HtmlUlProps extends Omit<HTMLProps<HTMLUListElement>, 'type' | 'as'> { as?: asPropType; } interface HtmlTableProps extends Omit<HTMLProps<HTMLTableElement>, 'ref' | 'as' | 'data' | 'children'> { forwardedRef?: React$1.Ref<HTMLTableElement>; children?: React$1.ReactNode; } type SpacingWithoutInsetProp = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl' | 'xxxxl' | '0'; interface PaddingProps { padding?: SpacingWithoutInsetProp; pt?: SpacingWithoutInsetProp; pr?: SpacingWithoutInsetProp; pb?: SpacingWithoutInsetProp; pl?: SpacingWithoutInsetProp; px?: SpacingWithoutInsetProp; py?: SpacingWithoutInsetProp; } interface MarginProps { margin?: SpacingWithoutInsetProp; mt?: SpacingWithoutInsetProp; mr?: SpacingWithoutInsetProp; mb?: SpacingWithoutInsetProp; ml?: SpacingWithoutInsetProp; mx?: SpacingWithoutInsetProp; my?: SpacingWithoutInsetProp; } type GlobalMargins = { all?: MarginProps; alert?: MarginProps; actionMenu?: MarginProps; block?: MarginProps; button?: MarginProps; breadcrumb?: MarginProps; checkbox?: MarginProps; checkboxGroup?: MarginProps; chip?: MarginProps; dateInput?: MarginProps; dropdown?: MarginProps; expander?: MarginProps; expanderGroup?: MarginProps; externalLink?: MarginProps; fileInput?: MarginProps; heading?: MarginProps; hintText?: MarginProps; inlineAlert?: MarginProps; label?: MarginProps; languageMenu?: MarginProps; link?: MarginProps; linkList?: MarginProps; loadingSpinner?: MarginProps; multiSelect?: MarginProps; notification?: MarginProps; pagination?: MarginProps; paragraph?: MarginProps; radioButton?: MarginProps; radioButtonGroup?: MarginProps; routerLink?: MarginProps; searchInput?: MarginProps; serviceNavigation?: MarginProps; sideNavigation?: MarginProps; singleSelect?: MarginProps; staticChip?: MarginProps; statusText?: MarginProps; table?: MarginProps; text?: MarginProps; textarea?: MarginProps; textInput?: MarginProps; timeInput?: MarginProps; toast?: MarginProps; toggleInput?: MarginProps; toggleButton?: MarginProps; tooltip?: MarginProps; wizardNavigation?: MarginProps; }; interface SpacingProps extends PaddingProps, MarginProps { } type ButtonVariant = 'default' | 'inverted' | 'secondary' | 'secondaryNoBorder' | 'secondaryLight'; type ForcedAccessibleNameProps = { children: ReactNode; 'aria-label'?: string; } | { children?: never; 'aria-label': string; }; type LoadingProps$2 = { loading?: false; ariaLoadingText?: never; } | { loading?: true; ariaLoadingText: string; }; interface InternalButtonProps extends Omit<HtmlButtonProps, 'aria-disabled' | 'onClick'>, MarginProps { variant?: ButtonVariant; disabled?: boolean; 'aria-disabled'?: boolean; className?: string; fullWidth?: boolean; icon?: ReactElement; iconRight?: ReactElement; onClick?: (event: React$1.MouseEvent) => void; forwardedRef?: React$1.RefObject<HTMLButtonElement>; } type ButtonProps = InternalButtonProps & ForcedAccessibleNameProps & LoadingProps$2 & { globalMargins?: GlobalMargins; }; declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>; interface ActionMenuItemProps { className?: string; children: ReactNode; disabled?: boolean; icon?: ReactElement; onClick?: (event: React$1.MouseEvent) => void; } declare const ActionMenuItem: { (props: ActionMenuItemProps): React$1.JSX.Element; displayName: string; }; interface ActionMenuDividerProps { className?: string; } declare const ActionMenuDivider: { (props: ActionMenuDividerProps): React$1.JSX.Element; displayName: string; }; type MenuContent$1 = Array<ReactElement<ActionMenuItemProps> | ReactElement<ActionMenuDividerProps>> | ReactElement<ActionMenuItemProps> | ReactElement<ActionMenuDividerProps>; type ActionMenuProps = MarginProps & Omit<ButtonProps, keyof ForcedAccessibleNameProps | keyof LoadingProps$2> & { buttonText?: ReactNode; buttonVariant?: ButtonVariant; 'aria-label'?: string; children?: MenuContent$1; className?: string; menuClassName?: string; disabled?: boolean; forwardedRef?: React$1.RefObject<HTMLButtonElement>; fullWidth?: boolean; id?: string; name?: string; onBlur?: (event: FocusEvent<HTMLButtonElement>) => void; onClose?: () => void; onOpen?: () => void; }; declare const ActionMenu: React$1.ForwardRefExoticComponent<MarginProps & Omit<ButtonProps, "aria-label" | "children" | "loading" | "ariaLoadingText"> & { buttonText?: ReactNode; buttonVariant?: ButtonVariant | undefined; 'aria-label'?: string | undefined; children?: MenuContent$1 | undefined; className?: string | undefined; menuClassName?: string | undefined; disabled?: boolean | undefined; forwardedRef?: React$1.RefObject<HTMLButtonElement> | undefined; fullWidth?: boolean | undefined; id?: string | undefined; name?: string | undefined; onBlur?: ((event: FocusEvent<HTMLButtonElement>) => void) | undefined; onClose?: (() => void) | undefined; onOpen?: (() => void) | undefined; } & React$1.RefAttributes<HTMLButtonElement>>; interface BreadcrumbProps extends HtmlNavProps, MarginProps { 'aria-label': string; className?: string; children?: ReactNode; } declare const Breadcrumb: { (props: BreadcrumbProps): React$1.JSX.Element; displayName: string; }; type UnderlineVariant = 'initial' | 'hover'; interface BaseLinkProps extends HtmlAProps { href: string; className?: string; children: ReactNode; underline?: UnderlineVariant; variant?: 'default' | 'accent'; asProp?: asPropType; smallScreen?: boolean; } interface LinkProps extends BaseLinkProps, MarginProps { forwardedRef?: React$1.Ref<HTMLAnchorElement>; } declare const Link: React$1.ForwardRefExoticComponent<LinkProps & React$1.RefAttributes<HTMLAnchorElement>>; type newWindowProps = { toNewWindow: false; labelNewWindow?: never; } | { toNewWindow?: true; labelNewWindow: string; }; interface InternalExternalLinkProps extends BaseLinkProps, MarginProps { hideIcon?: boolean; toNewWindow?: boolean; labelNewWindow?: string; forwardedRef?: React$1.Ref<HTMLAnchorElement>; } type ExternalLinkProps = newWindowProps & InternalExternalLinkProps; declare const ExternalLink: React$1.ForwardRefExoticComponent<ExternalLinkProps & React$1.RefAttributes<HTMLAnchorElement>>; interface SkipLinkProps extends BaseLinkProps { forwardedRef?: React$1.Ref<HTMLAnchorElement>; } declare const SkipLink: React$1.ForwardRefExoticComponent<SkipLinkProps & React$1.RefAttributes<HTMLAnchorElement>>; type PropsOf<C extends keyof JSX.IntrinsicElements | React$1.JSXElementConstructor<any>> = JSX.LibraryManagedAttributes<C, React$1.ComponentPropsWithoutRef<C>>; type AsProp<C extends React$1.ElementType> = { asComponent?: C; }; type ExtendableProps<ExtendedProps = {}, OverrideProps = {}> = OverrideProps & Omit<ExtendedProps, keyof OverrideProps>; type InheritableElementProps<C extends React$1.ElementType, Props = {}> = ExtendableProps<PropsOf<C>, Props>; type PolymorphicRef<C extends React$1.ElementType> = React$1.ComponentPropsWithRef<C>['ref']; type ForwardedRef<C extends React$1.ElementType> = { forwardedRef?: PolymorphicRef<C>; }; type PolymorphicComponentProps<C extends React$1.ElementType, Props = {}> = InheritableElementProps<C, Props & AsProp<C> & ForwardedRef<C>>; interface Props extends MarginProps { className?: string; children: ReactNode; underline?: UnderlineVariant; } type RouterLinkProps<C extends React$1.ElementType> = PolymorphicComponentProps<C, Props>; declare const RouterLinkInner: <C extends React$1.ElementType<any, keyof React$1.JSX.IntrinsicElements> = "a">(props: RouterLinkProps<C>, ref?: PolymorphicRef<C> | undefined) => React$1.JSX.Element; declare const RouterLink: <C extends React$1.ElementType<any, keyof React$1.JSX.IntrinsicElements> = "a">(props: Props & AsProp<C> & ForwardedRef<C> & Omit<JSX.LibraryManagedAttributes<C, React$1.PropsWithoutRef<React$1.ComponentProps<C>>>, "forwardedRef" | "asComponent" | keyof Props> & { ref?: PolymorphicRef<C> | undefined; }) => ReturnType<typeof RouterLinkInner>; interface LinkListItemProps extends Omit<HtmlLiProps, 'className'> { forwardedRef?: React$1.Ref<HTMLLIElement>; icon?: ReactElement; children: ReactElement<LinkProps | ExternalLinkProps | RouterLinkProps<React$1.ElementType>>; className?: string; } declare const LinkListItem: React$1.ForwardRefExoticComponent<Omit<LinkListItemProps, "ref"> & React$1.RefAttributes<HTMLElement>>; interface LinkListProps extends HtmlUlProps, MarginProps { forwardedRef?: React$1.Ref<HTMLUListElement>; ariaLabelledBy: string; smallScreen?: boolean; } declare const LinkList: React$1.ForwardRefExoticComponent<Omit<LinkListProps, "ref"> & React$1.RefAttributes<HTMLUListElement>>; interface BreadcrumbLinkProps extends Omit<LinkProps, 'href' | 'margin' | 'mx' | 'my' | 'mt' | 'mr' | 'mb' | 'ml'> { current?: boolean; href?: string; } declare const BreadcrumbLink: (props: BreadcrumbLinkProps) => React$1.JSX.Element; interface AlertProps extends HtmlDivProps, MarginProps { status?: 'neutral' | 'warning' | 'error'; children?: ReactNode; smallScreen?: boolean; closeText: string; onCloseButtonClick?: () => void; closeButtonProps?: Omit<HtmlButtonProps, 'onClick' | 'aria-label'>; forwardedRef?: React$1.RefObject<HTMLDivElement>; } declare const Alert: React$1.ForwardRefExoticComponent<AlertProps & React$1.RefAttributes<HTMLDivElement>>; interface InlineAlertProps extends HtmlDivProps, MarginProps { status?: 'neutral' | 'warning' | 'error'; children?: ReactNode; smallScreen?: boolean; labelText?: ReactNode; forwardedRef?: React$1.RefObject<HTMLDivElement>; } declare const InlineAlert: React$1.ForwardRefExoticComponent<InlineAlertProps & React$1.RefAttributes<HTMLDivElement>>; type CloseButtonProps$1 = { showCloseButton: false; closeText?: string; onCloseButtonClick?: () => void; closeButtonProps?: Omit<ButtonProps, 'onClick' | keyof LoadingProps$2>; } | { showCloseButton?: true; closeText: string; onCloseButtonClick?: () => void; closeButtonProps?: Omit<ButtonProps, 'onClick'>; }; type NotificationProps = HtmlDivProps & MarginProps & CloseButtonProps$1 & { status?: 'neutral' | 'error'; headingText?: string; children?: ReactNode; actionElements?: ReactNode; headingVariant?: Exclude<hLevels, 'h1'>; smallScreen?: boolean; regionAriaLabel?: string; }; declare const Notification: React$1.ForwardRefExoticComponent<NotificationProps & React$1.RefAttributes<HTMLDivElement>>; type InternalToastProps = MarginProps & HtmlDivWithRefProps & { headingText?: string; children?: ReactNode; className?: string; headingVariant?: Exclude<hLevels, 'h1'>; id?: string; forwardedRef?: RefObject<HTMLDivElement>; }; type CloseButtonProps = { showCloseButton?: false; closeText?: string; onCloseButtonClick?: () => void; closeButtonProps?: Omit<ButtonProps, 'onClick' | keyof LoadingProps$2>; } | { showCloseButton: true; closeText: string; onCloseButtonClick?: () => void; closeButtonProps?: Omit<ButtonProps, 'onClick'>; }; type ToastProps = InternalToastProps & CloseButtonProps; declare const Toast: React$1.ForwardRefExoticComponent<ToastProps & React$1.RefAttributes<HTMLDivElement>>; type BlockVariant = 'default' | 'div' | 'span' | 'section' | 'header' | 'nav' | 'main' | 'footer'; interface BlockProps extends HtmlDivProps, SpacingProps { variant?: BlockVariant; forwardedRef?: React$1.Ref<any>; } declare const Block: React$1.ForwardRefExoticComponent<BlockProps & React$1.RefAttributes<any>>; interface HtmlDetailsProps extends Omit<HTMLProps<HTMLDetailsElement>, 'ref' | 'as' | 'children'> { forwardedRef?: React$1.Ref<HTMLDetailsElement>; children?: React$1.ReactNode; } interface DetailsProps extends HtmlDetailsProps, MarginProps { className?: string; children: ReactNode; onClick?: (event: React$1.MouseEvent) => void; forwardedRef?: React$1.RefObject<HTMLDetailsElement>; summaryLabel: ReactNode; open?: boolean; } declare const Details: React$1.ForwardRefExoticComponent<DetailsProps & React$1.RefAttributes<HTMLDetailsElement>>; interface BaseChipProps { children: ReactNode; className?: string; disabled?: boolean; } interface StaticChipProps extends BaseChipProps, MarginProps, Omit<HtmlSpanProps, 'children'> { forwardedRef?: React$1.Ref<HTMLSpanElement>; } declare const StaticChip: React$1.ForwardRefExoticComponent<StaticChipProps & React$1.RefAttributes<HTMLSpanElement>>; interface ChipProps extends BaseChipProps, MarginProps, Omit<HtmlButtonProps, 'forwardedRef' | 'disabled' | 'onClick' | 'children' | 'as'> { onClick?: () => void; removable?: boolean; actionLabel?: string; 'aria-disabled'?: boolean; forwardedRef?: React$1.RefObject<HTMLButtonElement>; } declare const Chip: React$1.ForwardRefExoticComponent<ChipProps & React$1.RefAttributes<HTMLButtonElement>>; type LoadingSpinnerStatus = 'loading' | 'success' | 'failed'; interface LoadingSpinnerProps extends MarginProps, HtmlDivProps { className?: string; id?: string; text: string; textAlign?: 'bottom' | 'right'; textVisibility?: 'visible' | 'hidden'; status?: LoadingSpinnerStatus; variant?: 'normal' | 'small'; forwardedRef?: React$1.Ref<HTMLDivElement>; } declare const LoadingSpinner: React$1.ForwardRefExoticComponent<LoadingSpinnerProps & React$1.RefAttributes<HTMLDivElement>>; interface ToggleBaseProps { checked?: boolean; defaultChecked?: boolean; className?: string; disabled?: boolean; children?: ReactNode; 'aria-label'?: string; 'aria-labelledby'?: string; id?: string; } interface ToggleInputProps extends ToggleBaseProps, MarginProps, Omit<HtmlInputProps, 'onChange' | 'type'> { name?: string; onChange?: (checked: boolean) => void; forwardedRef?: React$1.RefObject<HTMLInputElement>; } declare const ToggleInput: React$1.ForwardRefExoticComponent<ToggleInputProps & React$1.RefAttributes<HTMLInputElement>>; interface ToggleButtonProps extends ToggleBaseProps, MarginProps, Omit<HtmlButtonProps, 'onClick' | 'type'> { onClick?: (checked: boolean) => void; forwardedRef?: React$1.RefObject<HTMLButtonElement>; } declare const ToggleButton: React$1.ForwardRefExoticComponent<ToggleButtonProps & React$1.RefAttributes<HTMLButtonElement>>; type LabelMode = 'hidden' | 'visible'; interface LabelProps extends Omit<HtmlSpanProps, 'as'>, MarginProps { id?: string; className?: string; children: ReactNode; contentClassName?: string; contentStyle?: CSSProperties; labelMode?: LabelMode; asProp?: asPropType; optionalText?: string; tooltipComponent?: ReactElement; forceTooltipRerender?: boolean; } declare const Label: { (props: LabelProps): React$1.JSX.Element; displayName: string; }; type InputStatus = 'default' | 'error' | 'success'; type AriaLiveMode = 'assertive' | 'polite' | 'off'; interface StatusTextCommonProps { statusText?: string; statusTextAriaLiveMode?: AriaLiveMode; } type characterCounterProps = { characterLimit?: never; ariaCharactersRemainingText?: never; ariaCharactersExceededText?: never; } | { characterLimit?: number; ariaCharactersRemainingText: (amount: number) => string; ariaCharactersExceededText: (amount: number) => string; }; type TextInputValue = string | number | undefined; interface BaseTextInputProps extends StatusTextCommonProps, MarginProps, Omit<HtmlInputProps, 'type' | 'onChange' | 'onClick' | 'onBlur'> { className?: string; disabled?: boolean; onClick?: () => void; onChange?: (value: TextInputValue) => void; onBlur?: (event: FocusEvent<HTMLInputElement>) => void; labelText: ReactNode; labelMode?: LabelMode; visualPlaceholder?: string; hintText?: string; status?: InputStatus; type?: 'text' | 'email' | 'number' | 'password' | 'tel' | 'url'; name?: string; value?: TextInputValue; fullWidth?: boolean; optionalText?: string; debounce?: number; icon?: ReactElement; tooltipComponent?: ReactElement; } type TextInputProps = characterCounterProps & BaseTextInputProps; declare const TextInput: React$1.ForwardRefExoticComponent<TextInputProps & React$1.RefAttributes<HTMLInputElement>>; interface TimeInputProps extends StatusTextCommonProps, MarginProps, Omit<HtmlInputProps, 'type' | 'onChange' | 'onBlur' | 'defaultValue' | 'onClick'> { className?: string; disabled?: boolean; onClick?: () => void; onChange?: (value: string) => void; onBlur?: (inputValue: string | null) => void; labelText: ReactNode; labelMode?: LabelMode; visualPlaceholder?: string; hintText?: string; status?: InputStatus; name?: string; defaultValue?: string; value?: string; optionalText?: string; debounce?: number; tooltipComponent?: ReactElement; } declare const TimeInput: React$1.ForwardRefExoticComponent<TimeInputProps & React$1.RefAttributes<HTMLInputElement>>; type SearchInputStatus = Exclude<InputStatus, 'success'>; type SearchSuggestionItem = { uniqueId: string; label: string; [key: string]: any; }; type AutoSuggestProps = { autosuggest?: false | never; onSuggestionSelected?: (suggestionId: string) => void; suggestionHintText?: string; ariaOptionsAvailableText?: string; suggestions?: SearchSuggestionItem[]; popoverClassName?: string; } | { autosuggest: true; onSuggestionSelected: (suggestionId: string) => void; suggestionHintText: string; ariaOptionsAvailableText: string; suggestions?: SearchSuggestionItem[]; popoverClassName?: string; }; type SearchInputProps = StatusTextCommonProps & MarginProps & AutoSuggestProps & Omit<HtmlInputProps, 'type' | 'disabled' | 'onChange' | 'onBlur' | 'onSearch' | 'onClick' | 'value' | 'defaultValue'> & { className?: string; labelText: ReactNode; labelMode?: LabelMode; visualPlaceholder?: string; clearButtonLabel: string; searchButtonLabel: string; searchButtonProps?: Omit<HtmlButtonProps, 'onClick' | 'tabIndex'>; status?: SearchInputStatus; name?: string; fullWidth?: boolean; value?: string; defaultValue?: string; onChange?: (value: string) => void; onBlur?: (event: FocusEvent<HTMLInputElement>, value: string) => void; onSearch?: (value: string) => void; debounce?: number; forwardedRef?: React$1.RefObject<HTMLInputElement>; showSearchButtonLabel?: boolean; showSearchIcon?: boolean; }; declare const SearchInput: React$1.ForwardRefExoticComponent<SearchInputProps & React$1.RefAttributes<HTMLInputElement>>; declare const autocompleteTimeString: (timeStr: string) => string | null; interface HTMLAttributesIncludingDataAttributes<T> extends React$1.HTMLAttributes<T> { [dataAttribute: `data-${string}`]: any; } type CheckboxStatus = Exclude<InputStatus, 'success'>; interface CheckboxProps extends StatusTextCommonProps, MarginProps, Omit<HtmlInputProps, 'onClick' | 'value'> { checked?: boolean; defaultChecked?: boolean; className?: string; disabled?: boolean; onClick?: ({ checkboxState }: { checkboxState: boolean; }) => void; children?: ReactNode; variant?: 'small' | 'large'; status?: CheckboxStatus; hintText?: string; 'aria-label'?: string; 'aria-labelledby'?: string; 'aria-describedby'?: string; id?: string; name?: string; value?: string; forwardedRef?: React$1.RefObject<HTMLInputElement>; labelProps?: Omit<HTMLAttributesIncludingDataAttributes<HTMLLabelElement>, 'htmlFor' | 'id'>; } declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLInputElement>>; type CheckboxGroupStatus = Exclude<InputStatus, 'success'>; interface CheckboxGroupProps extends MarginProps, HtmlDivWithRefProps { className?: string; children: Array<React$1.ReactElement<CheckboxProps> | ReactNode>; groupHintText?: string; labelText: ReactNode; labelMode?: 'hidden' | 'visible'; optionalText?: string; id?: string; groupStatus?: CheckboxGroupStatus; groupStatusText?: string; tooltipComponent?: ReactElement; forwardedRef?: React$1.Ref<HTMLDivElement>; } declare const CheckboxGroup: React$1.ForwardRefExoticComponent<CheckboxGroupProps & React$1.RefAttributes<HTMLDivElement>>; type RadioButtonGroupStatus = Exclude<InputStatus, 'success'>; interface RadioButtonGroupProps extends MarginProps, Omit<HtmlDivWithRefProps, 'onChange'> { className?: string; children: Array<React$1.ReactElement<RadioButtonProps> | ReactNode>; groupHintText?: string; groupStatus?: RadioButtonGroupStatus; groupStatusText?: string; labelText: ReactNode; labelMode?: 'hidden' | 'visible'; optionalText?: string; id?: string; name: string; value?: string; defaultValue?: string; onChange?: (value: string) => void; tooltipComponent?: ReactElement; forwardedRef?: React$1.RefObject<HTMLDivElement>; } declare const RadioButtonGroup: React$1.ForwardRefExoticComponent<RadioButtonGroupProps & React$1.RefAttributes<HTMLDivElement>>; interface RadioButtonProps extends MarginProps, Omit<HtmlInputProps, 'onChange'> { className?: string; children?: ReactNode; name?: string; value: string; id?: string; hintText?: string; disabled?: boolean; variant?: 'small' | 'large'; status?: RadioButtonGroupStatus; checked?: boolean; defaultChecked?: boolean; onChange?: (event: React$1.ChangeEvent<HTMLInputElement>) => void; 'aria-labelledby'?: string; forwardedRef?: React$1.RefObject<HTMLInputElement>; labelProps?: Omit<HTMLAttributesIncludingDataAttributes<HTMLLabelElement>, 'htmlFor'>; } declare const RadioButton: React$1.ForwardRefExoticComponent<RadioButtonProps & React$1.RefAttributes<HTMLInputElement>>; type FilterInputStatus = Exclude<InputStatus, 'success'>; interface SingleSelectData { labelText: string; disabled?: boolean; uniqueItemId: string; listItemProps?: HTMLAttributesIncludingDataAttributes<HTMLLIElement>; } type SingleSelectStatus = FilterInputStatus & {}; type AriaOptionsAvailableProps$1 = { ariaOptionsAvailableText?: never; ariaOptionsAvailableTextFunction: (length: number) => string; } | { ariaOptionsAvailableText: string; ariaOptionsAvailableTextFunction?: never; }; interface InternalSingleSelectProps<T extends SingleSelectData> { className?: string; items: Array<T & SingleSelectData>; id?: string; labelText: ReactNode; optionalText?: string; hintText?: string; clearButtonLabel: string; onItemSelectionChange?: (selectedItem: (T & SingleSelectData) | null) => void; visualPlaceholder?: string; defaultSelectedItem?: T & SingleSelectData; onChange?: (value: string) => void; onChangeWithoutDebounce?: (value: string) => void; onBlur?: () => void; debounce?: number; status?: SingleSelectStatus; statusText?: string; selectedItem?: (T & SingleSelectData) | null; onItemSelect?: (uniqueItemId: string | null) => void; disabled?: boolean; tooltipComponent?: ReactElement; forwardedRef?: React$1.RefObject<HTMLInputElement>; listProps?: HTMLAttributesIncludingDataAttributes<HTMLUListElement>; popoverClassName?: string; fullWidth?: boolean; } type LoadingProps$1 = { loading?: false; loadingText?: string; } | { loading?: true; loadingText: string; }; type AllowItemAdditionProps$1 = { allowItemAddition?: false; itemAdditionHelpText?: never; noItemsText: string; } | { allowItemAddition?: true; itemAdditionHelpText: string; noItemsText?: never; }; type SingleSelectProps<T> = InternalSingleSelectProps<T & SingleSelectData> & Omit<HtmlDivProps, 'onChange' | 'onBlur'> & AllowItemAdditionProps$1 & AriaOptionsAvailableProps$1 & MarginProps & LoadingProps$1; declare function SingleSelectInner<T>(props: SingleSelectProps<T & SingleSelectData>, ref: React$1.RefObject<HTMLInputElement>): React$1.JSX.Element; declare const SingleSelect: <T>(props: SingleSelectProps<T & SingleSelectData> & { ref?: React$1.ForwardedRef<HTMLInputElement> | undefined; }) => ReturnType<typeof SingleSelectInner>; interface MultiSelectData { labelText: string; chipText?: string; disabled?: boolean; uniqueItemId: string; listItemProps?: HTMLAttributesIncludingDataAttributes<HTMLLIElement>; } type MultiSelectStatus = FilterInputStatus & {}; type AriaOptionsAvailableProps = { ariaOptionsAvailableText?: never; ariaOptionsAvailableTextFunction: (length: number) => string; } | { ariaOptionsAvailableText: string; ariaOptionsAvailableTextFunction?: never; }; type AriaOptionChipRemovedProps = { ariaOptionChipRemovedText: string; ariaOptionChipRemovedTextFunction?: never; } | { ariaOptionChipRemovedText?: never; ariaOptionChipRemovedTextFunction: (option: string) => string; }; type AriaSelectedAmountProps = { ariaSelectedAmountText: string; ariaSelectedAmountTextFunction?: never; } | { ariaSelectedAmountText?: never; ariaSelectedAmountTextFunction: (amount: number) => string; }; type LoadingProps = { loading?: false; loadingText?: string; } | { loading?: true; loadingText: string; }; interface InternalMultiSelectProps<T extends MultiSelectData> { className?: string; items: Array<T & MultiSelectData>; id?: string; labelText: ReactNode; optionalText?: string; hintText?: string; onItemSelectionsChange?: (selectedItems: Array<T & MultiSelectData>) => void; chipListVisible?: boolean; ariaChipActionLabel?: string; removeAllButtonLabel?: string; visualPlaceholder?: string; defaultSelectedItems?: Array<T & MultiSelectData>; onChange?: (value: string) => void; onChangeWithoutDebounce?: (value: string) => void; onBlur?: () => void; debounce?: number; status?: MultiSelectStatus; statusText?: string; selectedItems?: Array<T & MultiSelectData>; onItemSelect?: (uniqueItemId: string) => void; onRemoveAll?: () => void; disabled?: boolean; tooltipComponent?: ReactElement; forwardedRef?: React$1.RefObject<HTMLInputElement>; listProps?: HTMLAttributesIncludingDataAttributes<HTMLUListElement>; popoverClassName?: string; fullWidth?: boolean; } type AllowItemAdditionProps = { allowItemAddition?: false; itemAdditionHelpText?: never; noItemsText: string; } | { allowItemAddition?: true; itemAdditionHelpText: string; noItemsText?: never; }; type MultiSelectProps<T> = InternalMultiSelectProps<T & MultiSelectData> & AllowItemAdditionProps & AriaOptionsAvailableProps & AriaOptionChipRemovedProps & AriaSelectedAmountProps & MarginProps & Omit<HtmlDivProps, 'onChange' | 'onBlur'> & LoadingProps; declare function MultiSelectInner<T>(props: MultiSelectProps<T & MultiSelectData>, ref: React$1.RefObject<HTMLInputElement>): React$1.JSX.Element; declare const MultiSelect: <T>(props: MultiSelectProps<T & MultiSelectData> & { ref?: React$1.ForwardedRef<HTMLInputElement> | undefined; }) => ReturnType<typeof MultiSelectInner>; interface StatusTextProps extends HtmlSpanProps, MarginProps { id?: string; children?: ReactNode; className?: string; disabled?: boolean; status?: InputStatus; ariaLiveMode?: AriaLiveMode; forwardedRef?: React$1.Ref<HTMLSpanElement>; } declare const StatusText: React$1.ForwardRefExoticComponent<StatusTextProps & React$1.RefAttributes<HTMLSpanElement>>; interface HintTextProps extends HtmlSpanProps, MarginProps { id?: string; children?: ReactNode; className?: string; forwardedRef?: React$1.Ref<HTMLSpanElement>; } declare const HintText: React$1.ForwardRefExoticComponent<HintTextProps & React$1.RefAttributes<HTMLSpanElement>>; declare const languages: readonly ["fi", "en", "sv"]; type Language = (typeof languages)[number]; interface DatePickerTextProps { openButtonLabel?: string; selectedDateLabel?: string; closeButtonText?: string; selectButtonText?: string; yearSelectLabel?: string; monthSelectLabel?: string; nextMonthButtonLabel?: string; prevMonthButtonLabel?: string; monthNames?: [ string, string, string, string, string, string, string, string, string, string, string, string ]; weekDays?: [string, string, string, string, string, string, string]; weekDayAbbreviations?: [ string, string, string, string, string, string, string ]; } interface DateAdapter { format: (date: Date) => string; parse: (value: string) => Date; } type datePickerAlignment = 'center' | 'left' | 'right'; interface DatePickerProps { datePickerEnabled?: boolean; datePickerProps?: Omit<HTMLAttributesIncludingDataAttributes<HTMLDivElement>, 'onChange' | 'style' | 'aria-hidden' | 'ref'>; datePickerPosition?: datePickerAlignment; smallScreen?: boolean; datePickerTexts?: DatePickerTextProps; language?: Language; minDate?: Date; maxDate?: Date; initialDate?: Date; shouldDisableDate?: (date: Date) => boolean; dateAdapter?: DateAdapter; onDatePickerButtonBlur?: (event: FocusEvent<HTMLButtonElement>) => void; } interface DateInputProps extends DatePickerProps, MarginProps, StatusTextCommonProps, Omit<HtmlInputProps, 'type' | 'onChange' | 'onClick' | 'onBlur'> { className?: string; disabled?: boolean; onClick?: (event?: React$1.MouseEvent<HTMLInputElement>) => void; onChange?: (change: { value: string; date: Date; }) => void; onBlur?: (event: FocusEvent<HTMLInputElement>) => void; labelText: ReactNode; labelMode?: LabelMode; visualPlaceholder?: string; hintText?: string; status?: InputStatus; value?: string; fullWidth?: boolean; optionalText?: string; debounce?: number; tooltipComponent?: ReactElement; } declare const DateInput: React$1.ForwardRefExoticComponent<DateInputProps & React$1.RefAttributes<HTMLInputElement>>; interface BasicErrorSummaryItemProps { text: string; } type InputReferenceProps = { inputId: string; inputRef?: never; } | { inputId?: never; inputRef: React$1.RefObject<HTMLElement>; }; type ErrorSummaryItemProps = BasicErrorSummaryItemProps & InputReferenceProps; interface ErrorSummaryProps extends HtmlDivProps, MarginProps { items?: Array<ErrorSummaryItemProps>; smallScreen?: boolean; headingText: ReactNode; headingVariant?: Exclude<hLevels, 'h1'>; headingRef: React$1.Ref<HTMLHeadingElement>; forwardedRef?: React$1.Ref<HTMLDivElement>; } declare const ErrorSummary: React$1.ForwardRefExoticComponent<ErrorSummaryProps & React$1.RefAttributes<HTMLDivElement>>; interface DropdownItemProps<T extends string = string> extends HtmlLiProps { value: T; children: ReactNode; className?: string; disabled?: boolean; } declare const DropdownItem: { <T extends string = string>(props: DropdownItemProps<T>): React$1.JSX.Element; displayName: string; }; interface DropdownProps<T extends string = string> extends StatusTextCommonProps, MarginProps, Omit<HtmlButtonProps, 'onChange' | 'value'> { id?: string; name?: string; defaultValue?: T; value?: T | null; labelText: ReactNode; hintText?: string; visualPlaceholder?: ReactNode; alwaysShowVisualPlaceholder?: boolean; labelMode?: LabelMode; optionalText?: string; 'aria-labelledby'?: string; status?: 'default' | 'error'; statusText?: string; className?: string; disabled?: boolean; children?: Array<ReactElement<DropdownItemProps<T>> | Array<ReactElement<DropdownItemProps<T>>>> | ReactElement<DropdownItemProps<T>>; onChange?(value: T): void; onBlur?: () => void; tooltipComponent?: ReactElement; portal?: boolean; popoverClassName?: string; fullWidth?: boolean; forwardedRef?: React$1.Ref<HTMLButtonElement>; } declare const Dropdown: <T extends string = string>(props: DropdownProps<T> & { ref?: React$1.Ref<HTMLButtonElement> | undefined; }) => React$1.ReactElement | null; interface BaseFileInputProps extends StatusTextCommonProps, MarginProps, Omit<HtmlInputProps, 'type' | 'onChange' | 'onClick' | 'onBlur' | 'value'> { className?: string; labelText: ReactNode; labelMode?: LabelMode; inputButtonText: ReactNode; dragAreaText: ReactNode; removeFileText: ReactNode; filePreview?: boolean; addedFileAriaText: string; onClick?: () => void; onChange?: (value: FileList) => void; onBlur?: () => void; value?: ControlledFileItem[]; hintText?: string; status?: InputStatus; smallScreen?: boolean; id?: string; name?: string; 'aria-describedby'?: string; fullWidth?: boolean; optionalText?: string; style?: React$1.CSSProperties; tooltipComponent?: ReactElement; } type MultiFileProps = { multiFile?: false; multiFileListHeadingText?: string; } | { multiFile?: true; multiFileListHeadingText: string; }; type FileInputProps = BaseFileInputProps & MultiFileProps; interface ControlledFileItem { file?: File; metadata?: Metadata; status?: 'default' | 'error' | 'loading'; errorText?: string; ariaLoadingText?: string; buttonText?: string; buttonIcon?: ReactElement; buttonOnClick?: () => void; filePreviewOnClick?: () => void; fileURL?: string; } interface Metadata { fileSize: number; fileName: string; fileType: string; id?: string; } declare const FileInput: React$1.ForwardRefExoticComponent<FileInputProps & React$1.RefAttributes<HTMLInputElement>>; declare const zindexes: { menu: number; focus: number; }; type ZIndexDesignTokens = typeof zindexes; type SuomifiDesignTokens = typeof designTokens; type ColorProp = keyof ColorDesignTokens; type TypographyProp = keyof TypographyDesignTokens; type SpacingProp = keyof SpacingDesignTokens | '0'; interface SuomifiTheme { colors: ColorDesignTokens; gradients: GradientDesignTokens; focuses: FocusDesignTokens; radiuses: RadiusDesignTokens; shadows: ShadowDesignTokens; spacing: SpacingDesignTokens; transitions: TransitionDesignTokens; typography: TypographyDesignTokens; values: RawDesignTokens; zindexes: ZIndexDesignTokens; breakpoints: BreakpointDesignTokens; } declare const designTokens: { zindexes: { menu: number; focus: number; }; shadows: ShadowDesignTokens; focuses: FocusDesignTokens; transitions: TransitionDesignTokens; radiuses: RadiusDesignTokens; colors: ColorDesignTokens; spacing: SpacingDesignTokens; typography: TypographyDesignTokens; gradients: GradientDesignTokens; values: RawDesignTokens; breakpoints: BreakpointDesignTokens; }; declare const defaultSuomifiTheme: SuomifiTheme; interface PartialSuomifiTheme { colors?: Partial<ColorDesignTokens>; gradients?: Partial<GradientDesignTokens>; focuses?: Partial<FocusDesignTokens>; radiuses?: Partial<RadiusDesignTokens>; shadows?: Partial<ShadowDesignTokens>; spacing?: Partial<SpacingDesignTokens>; transitions?: Partial<TransitionDesignTokens>; typography?: Partial<TypographyDesignTokens>; zindexes?: Partial<ZIndexDesignTokens>; breakpoints?: Partial<BreakpointDesignTokens>; } declare const SuomifiThemeContext: React$1.Context<{ suomifiTheme: SuomifiTheme; }>; declare const SuomifiThemeConsumer: React$1.Consumer<{ suomifiTheme: SuomifiTheme; }>; interface SuomifiThemeProviderProps { theme: PartialSuomifiTheme; children?: ReactNode; } declare const SuomifiThemeProvider: (props: SuomifiThemeProviderProps) => React$1.JSX.Element | null; declare const SpacingConsumer: React$1.Consumer<{ margins: {}; }>; interface SpacingProviderProps { margins: GlobalMargins; children?: ReactNode; } declare const SpacingProvider: (props: SpacingProviderProps) => React$1.JSX.Element | null; type styleVariants = hLevels | 'h1hero'; interface HeadingProps extends HtmlHProps, MarginProps { variant: styleVariants; smallScreen?: boolean; color?: ColorProp; className?: string; as?: asPropType; forwardedRef?: React$1.RefObject<HTMLHeadingElement>; } declare const Heading: React$1.ForwardRefExoticComponent<HeadingProps & React$1.RefAttributes<HTMLHeadingElement>>; interface LanguageMenuItemProps { lang: string; className?: string; children: ReactNode; onSelect: () => void; selected?: boolean; } declare const LanguageMenuItem: { (props: LanguageMenuItemProps): React$1.JSX.Element; displayName: string; }; type MenuContent = Array<ReactElement<LanguageMenuItemProps> | Array<ReactElement<LanguageMenuItemProps>>> | Array<ReactElement<LanguageMenuItemProps>> | ReactElement<LanguageMenuItemProps>; interface LanguageMenuProps extends MarginProps, Omit<HtmlButtonProps, 'onBlur'> { buttonText: ReactNode; 'aria-label': string; children?: MenuContent; className?: string; menuClassName?: string; forwardedRef?: React$1.RefObject<HTMLButtonElement>; id?: string; onBlur?: (event: FocusEvent<HTMLButtonElement>) => void; onClose?: () => void; onOpen?: () => void; } declare const LanguageMenu: React$1.ForwardRefExoticComponent<LanguageMenuProps & React$1.RefAttributes<HTMLButtonElement>>; interface ModalFooterProps extends HtmlDivProps { } declare const ModalFooter: { (props: ModalFooterProps): React$1.JSX.Element; displayName: string; }; interface ModalContentProps extends Omit<HtmlDivProps, 'children' | 'className'> { className?: string; children: ReactNode; } declare const ModalContent: { (props: ModalContentProps): React$1.JSX.Element; displayName: string; }; type ModalVariant = 'smallScreen' | 'default'; interface ModalProps { visible: boolean; appElementId: string; className?: string; style?: React$1.CSSProperties; children: ReactElement<ModalContentProps | ModalFooterProps> | ReactNode; variant?: ModalVariant; scrollable?: boolean; focusOnOpenRef?: React$1.RefObject<any>; focusOnCloseRef?: React$1.RefObject<any>; onEscKeyDown?: () => void; ariaLabelledBy?: string; } declare const Modal: { (props: ModalProps): React$1.JSX.Element; displayName: string; }; interface ModalTitleProps extends Omit<HeadingProps, 'className' | 'variant' | 'margin' | 'mx' | 'my' | 'mt' | 'mr' | 'mb' | 'ml'> { children: ReactNode; className?: string; variant?: hLevels | 'h1hero'; } declare const ModalTitle: { (props: ModalTitleProps): React$1.JSX.Element; displayName: string; }; interface WizardNavigationProps extends MarginProps, HtmlDivProps { children: ReactNode; 'aria-label': string; id?: string; variant?: 'default' | 'smallScreen'; initiallyExpanded?: boolean; heading: string; className?: string; forwardedRef?: React$1.Ref<HTMLElement>; } declare const WizardNavigation: React$1.ForwardRefExoticComponent<WizardNavigationProps & React$1.RefAttributes<HTMLElement>>; interface WizardNavigationItemProps { className?: string; children: ReactNode; status: 'default' | 'current' | 'current-completed' | 'completed' | 'coming' | 'disabled'; } declare const WizardNavigationItem: { (props: WizardNavigationItemProps): React$1.JSX.Element; displayName: string; }; interface ServiceNavigationProps extends MarginProps, HtmlDivProps { children: ReactNode; 'aria-label': string; id?: string; variant?: 'default' | 'smallScreen'; initiallyExpanded?: boolean; smallScreenExpandButtonText?: string | ReactNode; className?: string; forwardedRef?: React$1.Ref<HTMLElement>; } declare const ServiceNavigation: React$1.ForwardRefExoticComponent<ServiceNavigationProps & React$1.RefAttributes<HTMLElement>>; interface ServiceNavigationItemProps { className?: string; children: ReactNode; selected?: boolean; disabled?: boolean; } declare const ServiceNavigationItem: { (props: ServiceNavigationItemProps): React$1.JSX.Element; displayName: string; }; interface SideNavigationProps extends MarginProps, HtmlDivProps { children: ReactNode; 'aria-label': string; id?: string; variant?: 'default' | 'smallScreen'; initiallyExpanded?: boolean; heading: string; icon?: ReactElement; className?: string; forwardedRef?: React$1.Ref<HTMLElement>; } declare const SideNavigation: React$1.ForwardRefExoticComponent<SideNavigationProps & React$1.RefAttributes<HTMLElement>>; interface SideNavigationItemProps { className?: string; content: ReactNode; children?: ReactNode; subLevel: 1 | 2 | 3; selected?: boolean; disabled?: boolean; expanded?: boolean; } declare const SideNavigationItem: { (props: SideNavigationItemProps): React$1.JSX.Element; displayName: string; }; interface ExpanderProps extends MarginProps, HtmlDivWithRefProps { children: ReactNode; className?: string; id?: string; defaultOpen?: boolean; open?: boolean; onOpenChange?: (open: boolean) => void; forwardedRef?: React$1.Ref<HTMLDivElement>; } declare const Expander: React$1.ForwardRefExoticComponent<ExpanderProps & React$1.RefAttributes<HTMLDivElement>>; interface PartialExpanderGroupProps extends HtmlDivProps, MarginProps { children: ReactNode; ariaOpenAllText?: string; ariaCloseAllText?: string; className?: string; toggleAllButtonProps?: Omit<HTMLAttributesIncludingDataAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown' | 'onMouseUp' | 'onKeyPress' | 'onKeyUp' | 'onKeyDown'>; forwardedRef?: React$1.Ref<HTMLButtonElement>; } type ToggleAllProps = { openAllText?: string; closeAllText?: string; showToggleAllButton?: false | never; } | { openAllText: string; closeAllText: string; showToggleAllButton: true; }; type ExpanderGroupProps = PartialExpanderGroupProps & ToggleAllProps; declare const ExpanderGroup: React$1.ForwardRefExoticComponent<ExpanderGroupProps & React$1.RefAttributes<HTMLButtonElement>>; interface ExpanderContentProps extends Omit<HtmlDivProps, 'id'> { children: ReactNode; noPadding?: boolean; } declare const ExpanderContent: { (props: ExpanderContentProps): React$1.JSX.Element; displayName: string; }; interface ExpanderTitleButtonProps extends HtmlDivProps { className?: string; children?: ReactNode; asHeading?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; toggleButtonProps?: Omit<HTMLAttributesIncludingDataAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown' | 'onMouseUp' | 'onKeyPress' | 'onKeyUp' | 'onKeyDown'>; forwardedRef?: React$1.RefObject<HTMLButtonElement>; } declare const ExpanderTitleButton: React$1.ForwardRefExoticComponent<ExpanderTitleButtonProps & React$1.RefAttributes<HTMLButtonElement>>; interface ExpanderTitleProps extends Omit<HtmlDivProps, 'className'> { className?: string; children?: ReactNode; toggleButtonAriaLabel: string; toggleButtonAriaDescribedBy: string; toggleButtonProps?: Omit<HTMLAttributesIncludingDataAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown' | 'onMouseUp' | 'onKeyPress' | 'onKeyUp' | 'onKeyDown'>; } declare const ExpanderTitle: { (props: ExpanderTitleProps): React$1.JSX.Element; displayName: string; }; interface HtmlPProps extends Omit<HTMLProps<HTMLParagraphElement>, 'ref' | 'as'> { as?: asPropType; } interface ParagraphProps extends HtmlPProps, MarginProps { color?: ColorProp; forwardedRef?: React$1.Ref<HTMLParagraphElement>; } declare const Paragraph: React$1.ForwardRefExoticComponent<ParagraphProps & React$1.RefAttributes<HTMLParagraphElement>>; type PageInputValue = number | string | undefined; interface PageInputProps { buttonText: string; inputPlaceholderText: string; invalidValueErrorText: (value: PageInputValue) => string; labelText: string; } type NextPreviousButtonProps = { nextButtonAriaLabel: string; previousButtonAriaLabel: string; customPreviousButton?: never; customNextButton?: never; } | { nextButtonAriaLabel?: never; previousButtonAriaLabel?: never; customPreviousButton: React$1.ReactNode; customNextButton: React$1.ReactNode; }; type ShowInputProps = { pageInput: false; pageInputProps?: never; } | { pageInput?: true; pageInputProps: PageInputProps; }; interface InternalPaginationProps { className?: string; 'aria-label': string; id?: string; pageIndicatorText: (currentPage: number, lastPage: number) => string; ariaPageIndicatorText: (currentPage: number, lastPage: number) => string; smallScreen?: boolean; currentPage?: number; lastPage: number; onChange: (page: number) => void; forwardedRef?: React$1.RefObject<HTMLElement>; } type PaginationProps = ShowInputProps & InternalPaginationProps & NextPreviousButtonProps & Omit<HtmlNavProps, 'onChange'> & MarginProps; declare const Pagination: React$1.ForwardRefExoticComponent<PaginationProps & React$1.RefAttributes<HTMLElement>>; interface TextProps extends HtmlSpanProps, MarginProps { smallScreen?: boolean; color?: ColorProp; variant?: 'body' | 'lead' | 'bold'; forwardedRef?: React$1.Ref<HTMLSpanElement>; } declare const Text: React$1.ForwardRefExoticComponent<TextProps & React$1.RefAttributes<HTMLSpanElement>>; type TextareaStatus = Exclude<InputStatus, 'success'>; interface BaseTextareaProps extends StatusTextCommonProps, MarginProps, Omit<HtmlTextareaProps, 'placeholder' | 'forwardedRef' | 'onChange' | 'onBlur'> { className?: string; disabled?: boolean; onClick?: () => void; onChange?: (event: ChangeEvent<HTMLTextAreaElement>) => void; onBlur?: (event: FocusEvent<HTMLTextAreaElement>) => void; labelText: ReactNode; labelMode?: 'hidden' | 'visible'; visualPlaceholder?: string; children?: string; hintText?: string; status?: TextareaStatus; resize?: 'both' | 'vertical' | 'horizontal' | 'none'; optionalText?: string; id?: string; name?: string; fullWidth?: boolean; tooltipComponent?: ReactElement; forwardedRef?: React$1.Ref<HTMLTextAreaElement>; } type TextareaProps = characterCounterProps & BaseTextareaProps; declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>; interface TooltipProps extends MarginProps, HtmlButtonProps { children: ReactNode; ariaToggleButtonLabelText: string; ariaCloseButtonLabelText: string; open?: boolean; toggleButtonClassName?: string; contentClassName?: string | undefined; anchorElement?: HTMLElement | null; onToggleButtonClick?: (event: React$1.MouseEvent) => void; onCloseButtonClick?: (event: React$1.MouseEvent) => void; forwardedRef?: React$1.RefObject<HTMLButtonElement>; } declare const Tooltip: React$1.Forward