Do not edit this file. It is a report generated by API Extractor.
/// <reference types="react" />
import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { CardConfig as CardConfig_2 } from '@backstage/plugin-home-react';
import { CardExtensionProps as CardExtensionProps_2 } from '@backstage/plugin-home-react';
import { CardLayout as CardLayout_2 } from '@backstage/plugin-home-react';
import { CardSettings as CardSettings_2 } from '@backstage/plugin-home-react';
import { ComponentParts as ComponentParts_2 } from '@backstage/plugin-home-react';
import { ComponentRenderer as ComponentRenderer_2 } from '@backstage/plugin-home-react';
import { createCardExtension as createCardExtension_2 } from '@backstage/plugin-home-react';
import { EntityFilterQuery } from '@backstage/catalog-client';
import { ErrorApi } from '@backstage/core-plugin-api';
import { IdentityApi } from '@backstage/core-plugin-api';
import { JSX as JSX_2 } from 'react';
import { default as React_2 } from 'react';
import { ReactElement } from 'react';
import { ReactNode } from 'react';
import { RendererProps as RendererProps_2 } from '@backstage/plugin-home-react';
import { RouteRef } from '@backstage/core-plugin-api';
import { StorageApi } from '@backstage/core-plugin-api';
// @public
export type Breakpoint = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
// @public @deprecated (undocumented)
export type CardConfig = CardConfig_2;
// @public @deprecated (undocumented)
export type CardExtensionProps<T> = CardExtensionProps_2<T>;
// @public @deprecated (undocumented)
export type CardLayout = CardLayout_2;
// @public @deprecated (undocumented)
export type CardSettings = CardSettings_2;
// @public (undocumented)
export type ClockConfig = {
label: string;
timeZone: string;
};
// @public (undocumented)
export const ComponentAccordion: (props: {
title?: string | undefined;
expanded?: boolean | undefined;
Content: () => JSX.Element;
Actions?: (() => JSX.Element) | undefined;
Settings?: (() => JSX.Element) | undefined;
ContextProvider?: ((props: any) => JSX.Element) | undefined;
}) => JSX_2.Element;
// @public @deprecated (undocumented)
export type ComponentParts = ComponentParts_2;
// @public @deprecated (undocumented)
export type ComponentRenderer = ComponentRenderer_2;
// @public (undocumented)
export const ComponentTab: (props: {
title: string;
Content: () => JSX.Element;
ContextProvider?: ((props: any) => JSX.Element) | undefined;
}) => JSX_2.Element;
// @public (undocumented)
export const ComponentTabs: (props: {
title: string;
tabs: {
label: string;
Component: () => JSX.Element;
}[];
}) => JSX_2.Element;
// @public @deprecated (undocumented)
export const createCardExtension: typeof createCardExtension_2;
// @public
export const CustomHomepageGrid: (
props: CustomHomepageGridProps,
) => React_2.JSX.Element;
// @public
export type CustomHomepageGridProps = {
children?: ReactNode;
config?: LayoutConfiguration[];
rowHeight?: number;
breakpoints?: Record<Breakpoint, number>;
cols?: Record<Breakpoint, number>;
containerPadding?: [number, number] | Record<Breakpoint, [number, number]>;
containerMargin?: [number, number] | Record<Breakpoint, [number, number]>;
maxRows?: number;
style?: React_2.CSSProperties;
compactType?: 'vertical' | 'horizontal' | null;
allowOverlap?: boolean;
preventCollision?: boolean;
};
// @public
export const FeaturedDocsCard: (
props: CardExtensionProps_2<FeaturedDocsCardProps>,
) => JSX_2.Element;
// @public
export type FeaturedDocsCardProps = {
filter: EntityFilterQuery;
emptyState?: React_2.JSX.Element;
linkDestination?: string;
responseLimit?: number;
subLinkText?: string;
};
// @public
export const HeaderWorldClock: (props: {
clockConfigs: ClockConfig[];
customTimeFormat?: Intl.DateTimeFormatOptions | undefined;
}) => JSX_2.Element | null;
// @public
export const HomePageCompanyLogo: (props: {
logo?: ReactNode;
className?: string | undefined;
}) => JSX_2.Element;
// @public (undocumented)
export const HomepageCompositionRoot: (props: {
title?: string | undefined;
children?: ReactNode;
}) => JSX_2.Element;
// @public (undocumented)
export const HomePageRandomJoke: (
props: CardExtensionProps_2<{
defaultCategory?: 'any' | 'programming' | undefined;
}>,
) => JSX_2.Element;
// @public
export const HomePageRecentlyVisited: (
props: CardExtensionProps_2<Partial<VisitedByTypeProps>>,
) => JSX_2.Element;
// @public
export const HomePageStarredEntities: (
props: CardExtensionProps_2<Partial<StarredEntitiesProps>>,
) => JSX_2.Element;
// @public
export const HomePageToolkit: (
props: CardExtensionProps_2<ToolkitContentProps>,
) => JSX_2.Element;
// @public
export const HomePageTopVisited: (
props: CardExtensionProps_2<Partial<VisitedByTypeProps>>,
) => JSX_2.Element;
// @public (undocumented)
export const homePlugin: BackstagePlugin<
{
root: RouteRef<undefined>;
},
{}
>;
// @public
export const isOperator: (s: string) => s is Operators;
// @public
export type LayoutConfiguration = {
component: ReactElement | string;
x: number;
y: number;
width: number;
height: number;
movable?: boolean;
deletable?: boolean;
resizable?: boolean;
};
// @public
export type Operators = '<' | '<=' | '==' | '!=' | '>' | '>=' | 'contains';
// @public @deprecated (undocumented)
export type RendererProps = RendererProps_2;
// @public @deprecated (undocumented)
export const SettingsModal: (props: {
open: boolean;
close: Function;
componentName?: string | undefined;
children: JSX.Element;
}) => JSX_2.Element;
// @public
export type StarredEntitiesProps = {
noStarredEntitiesMessage?: React_2.ReactNode | undefined;
groupByKind?: boolean;
};
// @public (undocumented)
export const TemplateBackstageLogo: (props: {
classes: {
svg: string;
path: string;
};
}) => React_2.JSX.Element;
// @public (undocumented)
export const TemplateBackstageLogoIcon: () => React_2.JSX.Element;
// @public (undocumented)
export type Tool = {
label: string;
url: string;
icon: React_2.ReactNode;
};
// @public
export type ToolkitContentProps = {
tools: Tool[];
};
// @public
export type Visit = {
id: string;
name: string;
pathname: string;
hits: number;
timestamp: number;
entityRef?: string;
};
// @public (undocumented)
export type VisitedByTypeKind = 'recent' | 'top';
// @public (undocumented)
export type VisitedByTypeProps = {
visits?: Array<Visit>;
numVisitsOpen?: number;
numVisitsTotal?: number;
loading?: boolean;
kind: VisitedByTypeKind;
};
// @public
export const VisitListener: ({
children,
toEntityRef,
visitName,
}: {
children?: React_2.ReactNode;
toEntityRef?:
| (({ pathname }: { pathname: string }) => string | undefined)
| undefined;
visitName?: (({ pathname }: { pathname: string }) => string) | undefined;
}) => JSX.Element;
// @public
export interface VisitsApi {
list(queryParams?: VisitsApiQueryParams): Promise<Visit[]>;
save(saveParams: VisitsApiSaveParams): Promise<Visit>;
}
// @public
export type VisitsApiQueryParams = {
limit?: number;
orderBy?: Array<{
field: keyof Visit;
direction: 'asc' | 'desc';
}>;
filterBy?: Array<{
field: keyof Visit;
operator: Operators;
value: string | number;
}>;
};
// @public (undocumented)
export const visitsApiRef: ApiRef<VisitsApi>;
// @public
export type VisitsApiSaveParams = {
visit: Omit<Visit, 'id' | 'hits' | 'timestamp'>;
};
// @public
export class VisitsStorageApi implements VisitsApi {
// (undocumented)
static create(options: VisitsStorageApiOptions): VisitsStorageApi;
list(queryParams?: VisitsApiQueryParams): Promise<Visit[]>;
save(saveParams: VisitsApiSaveParams): Promise<Visit>;
}
// @public (undocumented)
export type VisitsStorageApiOptions = {
limit?: number;
storageApi: StorageApi;
identityApi: IdentityApi;
};
// @public
export class VisitsWebStorageApi {
// (undocumented)
static create(options: VisitsWebStorageApiOptions): VisitsStorageApi;
}
// @public (undocumented)
export type VisitsWebStorageApiOptions = {
limit?: number;
identityApi: IdentityApi;
errorApi: ErrorApi;
};
// @public
export const WelcomeTitle: ({
language,
}: WelcomeTitleLanguageProps) => JSX_2.Element;
// @public (undocumented)
export type WelcomeTitleLanguageProps = {
language?: string[];
};