import React, { ReactNode, ReactElement } from "react";
import { ToolbarProps, LinkProps, BreadcrumbsProps as _BreadcrumbsProps1, ButtonProps, CalendarProps as _CalendarProps1, DateValue, CheckboxProps as _CheckboxProps2, CheckboxGroupProps as _CheckboxGroupProps1, ValidationResult, ComboBoxProps as _ComboBoxProps1, ListBoxItemProps, DateFieldProps as _DateFieldProps1, DatePickerProps as _DatePickerProps1, DateRangePickerProps as _DateRangePickerProps1, DialogProps, FormProps, GridListItemProps, GridListProps, ListBoxProps, MenuItemProps, MenuProps, MenuTriggerProps, PressEvent, MeterProps as _MeterProps1, ModalOverlayProps, NumberFieldProps as _NumberFieldProps1, PopoverProps as _PopoverProps1, ProgressBarProps as _ProgressBarProps1, RadioGroupProps as _RadioGroupProps1, RangeCalendarProps as _RangeCalendarProps1, SearchFieldProps as _SearchFieldProps1, SelectProps as _SelectProps1, SliderProps as _SliderProps1, SwitchProps as _SwitchProps1, ColumnProps, RowProps, TableHeaderProps, TableProps, TabsProps, TagGroupProps as _TagGroupProps1, TagListProps, TagProps, TextFieldProps as _TextFieldProps1, TimeFieldProps as _TimeFieldProps1, TimeValue, ToggleButtonProps, TooltipProps as _TooltipProps1 } from "react-aria-components";
import { AriaLabelingProps, DOMProps, IconColorValue, StyleProps } from "@react-types/shared";
import { Content, BlocksConfigData } from "@plone/types";
import { Location } from "history";
export function BlockToolbar(props: ToolbarProps): React.JSX.Element;
interface FlattenToAppURL {
    flattenToAppURL: (path: string | undefined) => string | undefined;
}
interface FlattenToAppURLProps {
    flattenToAppURL: (path: string | undefined) => string | undefined;
    children: ReactNode;
}
export function FlattenToAppURLProvider(props: FlattenToAppURLProps): React.JSX.Element;
export function useFlattenToAppURL(): FlattenToAppURL;
export const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
interface IconProps extends DOMProps, AriaLabelingProps, StyleProps {
    /**
     * A screen reader only label for the Icon.
     */
    'aria-label'?: string;
    /**
     * The content to display. Should be an SVG.
     */
    children: ReactElement;
    /**
     * Size of Icon (changes based on scale).
     */
    size?: 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL';
    /**
     * A slot to place the icon in.
     * @default 'icon'
     */
    slot?: string;
    /**
     * Indicates whether the element is exposed to an accessibility API.
     */
    'aria-hidden'?: boolean | 'false' | 'true';
    /**
     * Color of the Icon.
     */
    color?: IconColorValue;
}
type IconPropsWithoutChildren = Omit<IconProps, 'children'>;
/**
 * Spectrum icons are clear, minimal, and consistent across platforms. They follow the focused and rational principles of the design system in both metaphor and style.
 */
export function Icon(props: IconProps): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
type Breadcrumb = {
    '@id': string;
    title: string;
};
interface BreadcrumbsProps<T> extends _BreadcrumbsProps1<T> {
    /**
     * Current navigation root URL (flattened)
     */
    root?: string;
    /**
     * Whether include the root item in the breadcrubs (based on the root prop)
     */
    includeRoot?: boolean;
}
/**
 * Breadcrumbs display a hierarchy of links to the current page or resource in an application.
 */
export function Breadcrumbs({ items, root, includeRoot, }: BreadcrumbsProps<Breadcrumb>): React.JSX.Element;
export function Button(props: ButtonProps): React.JSX.Element;
interface CalendarProps<T extends DateValue> extends _CalendarProps1<T> {
    errorMessage?: string;
}
export function Calendar<T extends DateValue>({ errorMessage, ...props }: CalendarProps<T>): React.JSX.Element;
interface CheckboxProps extends _CheckboxProps2 {
    label?: string;
}
export function Checkbox({ children, ...props }: CheckboxProps): React.JSX.Element;
interface _CheckboxProps1 extends _CheckboxProps2 {
    label?: string;
    description?: string;
    errorMessage?: string;
}
export function CheckboxField({ children, errorMessage, description, ...props }: _CheckboxProps1): React.JSX.Element;
interface CheckboxGroupProps extends Omit<_CheckboxGroupProps1, 'children'> {
    children?: React.ReactNode;
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function CheckboxGroup({ label, description, errorMessage, children, ...props }: CheckboxGroupProps): React.JSX.Element;
interface ComboBoxProps<T extends object> extends Omit<_ComboBoxProps1<T>, 'children'> {
    label?: string;
    description?: string | null;
    errorMessage?: string | ((validation: ValidationResult) => string);
    children: React.ReactNode | ((item: T) => React.ReactNode);
}
export function ComboBox<T extends object>({ label, description, errorMessage, children, ...props }: ComboBoxProps<T>): React.JSX.Element;
export function ComboBoxItem(props: ListBoxItemProps): React.JSX.Element;
type ContainerProps = {
    /** Primary content. */
    children: ReactNode;
    /** An element type to render as (string or function). */
    as: ReactNode;
    /** Additional classes. */
    className: string;
    /** Layout size */
    layout: boolean;
    /** Narrow size. */
    narrow: boolean;
};
export const Container: (props: ContainerProps) => React.JSX.Element;
interface DateFieldProps<T extends DateValue> extends _DateFieldProps1<T> {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function DateField<T extends DateValue>({ label, description, errorMessage, ...props }: DateFieldProps<T>): React.JSX.Element;
interface DatePickerProps<T extends DateValue> extends _DatePickerProps1<T> {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function DatePicker<T extends DateValue>({ label, description, errorMessage, ...props }: DatePickerProps<T>): React.JSX.Element;
interface DateRangePickerProps<T extends DateValue> extends _DateRangePickerProps1<T> {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function DateRangePicker<T extends DateValue>({ label, description, errorMessage, ...props }: DateRangePickerProps<T>): React.JSX.Element;
export function Dialog(props: DialogProps): React.JSX.Element;
export function Form(props: FormProps): React.JSX.Element;
export function GridList<T extends object>({ children, ...props }: GridListProps<T>): React.JSX.Element;
export function GridListItem({ children, ...props }: GridListItemProps): React.JSX.Element;
export const AddIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const AligncenterIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const AlignleftIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const AlignrightIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ArchiveIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ArrowdownIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ArrowleftIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ArrowrightIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ArrowtoprightIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ArrowupIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const AttachmentIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const AutomatedcontentIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const BackgroundIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const BinIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const BlindIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const BoldIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const CalendarIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const CheckboxIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ChevrondownIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ChevronleftIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ChevronrightIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ChevronupIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const CloseIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const CodeIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const CollectionIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ColumnafterIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ColumnbeforeIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ColumndeleteIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ColumnsIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const CopyIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const CutIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const DashIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const DiscussionIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const DraggableIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const EditIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const EyeIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const FilterIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const FolderIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const FooterIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ForegroundIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const FullscreenIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const HighlightIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const HistoryIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const HomeIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ImagefitIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ImagefullIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ImageIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ImageleftIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ImagerightIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const InfoIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ItalicIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const LanguageIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const LeadingIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const LeadingimageIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const LinkIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ListIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ListnumbersIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const MailIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const MandatoryIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const MapIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const MenuIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const MergedIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const MoreoptionsIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const NavigationIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const NewsIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const OutIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const PageIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ParagraphIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const PasteIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const PauseIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const PencilIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const PlayIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const PropertiesIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const QuotesIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const RadiobuttonIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const RedoIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const RenameIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ReverseIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ReviewIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const RowafterIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const RowbeforeIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const RowdeleteIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const SearchIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const SecurityIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const SettingsIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ShareIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const SliderIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const SocialIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const SpacerIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const StateIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const SubtitleIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const TableIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const TagIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const TextIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const ThumbnailsIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const TitleIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const TocIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const UndoIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const UploadIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const UserIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const VideoIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const VoltoIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const WindowedIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export const WorldIcon: (props: IconPropsWithoutChildren) => React.JSX.Element;
export function ListBox<T extends object>({ children, ...props }: ListBoxProps<T>): React.JSX.Element;
export function ListBoxItem(props: ListBoxItemProps): React.JSX.Element;
interface MenuButtonProps<T> extends MenuProps<T>, Omit<MenuTriggerProps, 'children'> {
    button?: React.ReactNode;
    onPress?: (e: PressEvent) => void;
}
export function Menu<T extends object>({ button, onPress, children, ...props }: MenuButtonProps<T>): React.JSX.Element;
export function MenuItem<T extends object>(props: MenuItemProps<T>): React.JSX.Element;
interface MeterProps extends _MeterProps1 {
    label?: string;
}
export function Meter({ label, ...props }: MeterProps): React.JSX.Element;
export function Modal(props: ModalOverlayProps): React.JSX.Element;
interface NumberFieldProps extends _NumberFieldProps1 {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function NumberField({ label, description, errorMessage, ...props }: NumberFieldProps): React.JSX.Element;
interface PopoverProps extends Omit<_PopoverProps1, 'children'> {
    children: React.ReactNode;
}
export function Popover({ children, ...props }: PopoverProps): React.JSX.Element;
interface ProgressBarProps extends _ProgressBarProps1 {
    label?: string;
}
export function ProgressBar({ label, ...props }: ProgressBarProps): React.JSX.Element;
interface RadioGroupProps extends Omit<_RadioGroupProps1, 'children'> {
    children?: React.ReactNode;
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function RadioGroup({ label, description, errorMessage, children, ...props }: RadioGroupProps): React.JSX.Element;
interface RangeCalendarProps<T extends DateValue> extends _RangeCalendarProps1<T> {
    errorMessage?: string;
}
export function RangeCalendar<T extends DateValue>({ errorMessage, ...props }: RangeCalendarProps<T>): React.JSX.Element;
interface SearchFieldProps extends _SearchFieldProps1 {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function SearchField({ label, description, errorMessage, ...props }: SearchFieldProps): React.JSX.Element;
interface SelectProps<T extends object> extends Omit<_SelectProps1<T>, 'children'> {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
    items?: Iterable<T>;
    children: React.ReactNode | ((item: T) => React.ReactNode);
}
/**
 * See https://react-spectrum.adobe.com/react-aria/Select.html
 *
 * An iterable list of options is passed to the Select using the items prop. Each item
 * accepts an id prop, which is passed to the onSelectionChange handler to identify
 * the selected item. Alternatively, if the item objects contain an id property, as
 * shown in the example below, then this is used automatically and an id prop is not
 * required.
 *
 * Setting a selected option can be done by using the defaultSelectedKey or selectedKey
 * prop. The selected key corresponds to the id prop of an item. When Select is used
 * with a dynamic collection as described above, the id of each item is derived from
 * the data.
 *
 */
export function Select<T extends object>({ label, description, errorMessage, children, items, ...props }: SelectProps<T>): React.JSX.Element;
export function SelectItem(props: ListBoxItemProps): React.JSX.Element;
interface SliderProps<T> extends _SliderProps1<T> {
    label?: string;
    thumbLabels?: string[];
}
export function Slider<T extends number | number[]>({ label, thumbLabels, ...props }: SliderProps<T>): React.JSX.Element;
interface SwitchProps extends Omit<_SwitchProps1, 'children'> {
    children: React.ReactNode;
}
export function Switch({ children, ...props }: SwitchProps): React.JSX.Element;
export function Table(props: TableProps): React.JSX.Element;
export function Column(props: ColumnProps): React.JSX.Element;
export function TableHeader<T extends object>({ columns, children, }: TableHeaderProps<T>): React.JSX.Element;
export function Row<T extends object>({ id, columns, children, ...otherProps }: RowProps<T>): React.JSX.Element;
export function Tabs(props: TabsProps): React.JSX.Element;
interface TagGroupProps<T> extends Omit<_TagGroupProps1, 'children'>, Pick<TagListProps<T>, 'items' | 'children' | 'renderEmptyState'> {
    label?: string;
    description?: string;
    errorMessage?: string;
}
export function TagGroup<T extends object>({ label, description, errorMessage, items, children, renderEmptyState, ...props }: TagGroupProps<T>): React.JSX.Element;
export function Tag({ children, ...props }: TagProps): React.JSX.Element;
interface TextAreaFieldProps extends _TextFieldProps1 {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
    placeholder?: string;
}
export function TextAreaField({ label, description, errorMessage, ...props }: TextAreaFieldProps): React.JSX.Element;
interface TextFieldProps extends _TextFieldProps1 {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
    placeholder?: string;
}
export function TextField({ label, description, errorMessage, ...props }: TextFieldProps): React.JSX.Element;
interface TimeFieldProps<T extends TimeValue> extends _TimeFieldProps1<T> {
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
}
export function TimeField<T extends TimeValue>({ label, description, errorMessage, ...props }: TimeFieldProps<T>): React.JSX.Element;
export function ToggleButton(props: ToggleButtonProps): React.JSX.Element;
export function Toolbar(props: ToolbarProps): React.JSX.Element;
interface TooltipProps extends Omit<_TooltipProps1, 'children'> {
    children: React.ReactNode;
}
export function Tooltip({ children, ...props }: TooltipProps): React.JSX.Element;
export const DefaultBlockView: () => React.JSX.Element;
type RenderBlocksProps = {
    /**
     * Plone content object
     */
    content: Content;
    /**
     * Current blocks configuration object
     * From the registry or local to this instance (eg. in a blocks in block container)
     */
    blocksConfig: BlocksConfigData;
    /**
     * Wrap the blocks in an enclosing tag
     * From the registry or local to this instance (eg. in a blocks in block container)
     */
    as: React.ElementType;
    /**
     * Router location object
     */
    location: Location;
    /**
     * Metadata object
     * In case of the blocks in block container use case, it's the metadata (content data)
     * from the parent container, passed down to the contained blocks
     */
    metadata?: Content;
};
export const RenderBlocks: (props: RenderBlocksProps) => React.JSX.Element | "";
export function QuantaTextField(props: TextFieldProps): React.JSX.Element;
export function QuantaTextAreaField(props: TextAreaFieldProps): React.JSX.Element;
export function QuantaSelect<T extends object>(props: SelectProps<T>): React.JSX.Element;

//# sourceMappingURL=index.d.ts.map
