import React from "react"; export interface ElementConfig { name: string; group: string; scope: string; element: JSX.Element; } export interface ElementProps { name: string; id?: string; element?: JSX.Element | null; /** * `group` is a public prop that can be used by external developers to logically group elements. * For example: "actions", "buttons", etc. */ group?: string; /** * `scope` is used for internal grouping of elements. It is only used to create higher level components used by the 3rd party. * For example: "sidebar", "topBar", "toolbar". * This creates a scope within which we can then filter elements by their `group` prop. */ scope?: string; remove?: boolean; before?: string; after?: string; } export declare const Element: (({ id, name, element, group, scope, remove, before, after }: ElementProps) => React.JSX.Element) & { original: ({ id, name, element, group, scope, remove, before, after }: ElementProps) => React.JSX.Element; originalName: string; displayName: string; } & { original: (({ id, name, element, group, scope, remove, before, after }: ElementProps) => React.JSX.Element) & { original: ({ id, name, element, group, scope, remove, before, after }: ElementProps) => React.JSX.Element; originalName: string; /** * `group` is a public prop that can be used by external developers to logically group elements. * For example: "actions", "buttons", etc. */ displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/app-admin").ComponentDecorator<(({ id, name, element, group, scope, remove, before, after }: ElementProps) => React.JSX.Element) & { original: ({ id, name, element, group, scope, remove, before, after }: ElementProps) => React.JSX.Element; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; };