import { RJSFSchema, UiSchema } from '@rjsf/utils'; /** * @public */ export type ComponentRenderer = { Renderer?: (props: RendererProps) => JSX.Element; }; /** * @public */ export type ComponentParts = { Content: (props?: any) => JSX.Element; Actions?: () => JSX.Element; Settings?: () => JSX.Element; ContextProvider?: (props: any) => JSX.Element; }; /** * @public */ export type RendererProps = { title?: string; } & ComponentParts; /** * @public */ export type CardExtensionProps = ComponentRenderer & { title?: string; } & T; /** * @public */ export type CardLayout = { width?: { minColumns?: number; maxColumns?: number; defaultColumns?: number; }; height?: { minRows?: number; maxRows?: number; defaultRows?: number; }; }; /** * @public */ export type CardSettings = { schema?: RJSFSchema; uiSchema?: UiSchema; }; /** * @public */ export type CardConfig = { layout?: CardLayout; settings?: CardSettings; }; /** * An extension creator to create card based components for the homepage * * @public */ export declare function createCardExtension(options: { title?: string; components: () => Promise; name?: string; description?: string; layout?: CardLayout; settings?: CardSettings; }): import("@backstage/core-plugin-api").Extension<(props: CardExtensionProps) => import("react/jsx-runtime").JSX.Element>;