import { TableColumn, TableProps } from '@backstage/core-components';
import React, { ReactNode } from 'react';
import { CatalogTableColumnsFunc, CatalogTableRow } from './types';
/**
 * Props for {@link CatalogTable}.
 *
 * @public
 */
export interface CatalogTableProps {
    columns?: TableColumn<CatalogTableRow>[] | CatalogTableColumnsFunc;
    actions?: TableProps<CatalogTableRow>['actions'];
    tableOptions?: TableProps<CatalogTableRow>['options'];
    emptyContent?: ReactNode;
    subtitle?: string;
}
/** @public */
export declare const CatalogTable: {
    (props: CatalogTableProps): React.JSX.Element;
    columns: Readonly<{
        createNameColumn(options?: {
            defaultKind?: string | undefined;
        } | undefined): TableColumn<CatalogTableRow>;
        createSystemColumn(): TableColumn<CatalogTableRow>;
        createOwnerColumn(): TableColumn<CatalogTableRow>;
        createSpecTargetsColumn(): TableColumn<CatalogTableRow>;
        createSpecTypeColumn(options?: {
            hidden: boolean;
        }): TableColumn<CatalogTableRow>;
        createSpecLifecycleColumn(): TableColumn<CatalogTableRow>;
        createMetadataDescriptionColumn(): TableColumn<CatalogTableRow>;
        createTagsColumn(): TableColumn<CatalogTableRow>;
        createTitleColumn(options?: {
            hidden?: boolean | undefined;
        } | undefined): TableColumn<CatalogTableRow>;
        createLabelColumn(key: string, options?: {
            title?: string | undefined;
            defaultValue?: string | undefined;
        } | undefined): TableColumn<CatalogTableRow>;
        createNamespaceColumn(): TableColumn<CatalogTableRow>;
    }>;
    defaultColumnsFunc: CatalogTableColumnsFunc;
};
