///
import * as _backstage_plugin_scaffolder_react from '@backstage/plugin-scaffolder-react';
import { TableColumn, TableProps } from '@backstage/core-components';
import * as React from 'react';
import React__default, { ReactNode } from 'react';
import { Entity, CompoundEntityRef } from '@backstage/catalog-model';
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
import * as _backstage_plugin_scaffolder from '@backstage/plugin-scaffolder';
import { CustomFieldExtensionSchema } from '@backstage/plugin-scaffolder';
import { z } from 'zod';
type GeneratedCode = {
gradle: string;
maven: string;
sbt: string;
pip: string;
};
type ArtifactInfo = {
lib: LibraryArtifact;
code: () => GeneratedCode;
};
declare const ENTITY_GROUP = "jfrog.com/artifactory-group";
declare const ENTITY_ARTIFACT = "jfrog.com/artifactory-artifact";
declare const ENTITY_PACKAGING = "jfrog.com/artifactory-packaging";
declare const ENTITY_SCOPE = "jfrog.com/artifactory-scope";
declare const ENTITY_REPO = "jfrog.com/artifactory-repo";
declare const isJfrogArtifactAvailable: (entity: Entity) => boolean;
declare const isJfrogRepoAvailable: (entity: Entity) => boolean;
type LibArtifactCardProps = {
title: string;
showGradle: boolean;
showMaven: boolean;
showSbt: boolean;
showPip: boolean;
showDockerfile: boolean;
autohideTabs: boolean;
showBrowseRepositoryLink: boolean;
browseRepositoryLinkTitle: string;
browseLink: (artifactoryLink: string, artifactInfos: ArtifactInfo[] | undefined) => string;
};
interface LibverTableRow {
entity: Entity;
resolved: {
name: string;
partOfSystemRelationTitle?: string;
partOfSystemRelations: CompoundEntityRef[];
ownedByRelationsTitle?: string;
ownedByRelations: CompoundEntityRef[];
artifactInfo?: ArtifactInfo;
};
}
type LibraryArtifact = {
group?: string;
artifact: string;
artifactFullName?: string;
repo: string;
version?: string;
classifiers?: string[];
scope?: string;
transitive?: boolean;
packaging?: string;
packageType?: string;
size?: number;
stats?: number;
lastModified?: Date;
};
interface MetadataResponse {
data: Data;
}
interface Data {
versions: Versions;
}
interface Versions {
edges: Edge[];
}
interface Edge {
node: Node;
}
interface Node {
name: string;
created: Date;
modified: Date;
package: Package;
repos: Repo[];
licenses: any[];
size: string;
stats: Stats;
vulnerabilities: Vulnerabilities | null;
files: File[];
}
interface File {
name: string;
lead: boolean;
size: string;
md5: string;
sha1: string;
sha256: string;
mimeType: null | string;
}
interface Package {
id: string;
}
interface Repo {
name: string;
type: string;
leadFilePath: string;
}
interface Stats {
downloadCount: number;
}
interface Vulnerabilities {
critical: number;
high: number;
medium: number;
low: number;
info: number;
unknown: number;
skipped: number;
}
/**
* Props for root catalog pages.
* @public
*/
interface LibverPageProps {
title?: string;
topComponents?: ReactNode;
columns?: TableColumn[];
tableOptions?: TableProps['options'];
}
declare function LibverPageContent(props: LibverPageProps): React__default.JSX.Element;
declare function LibverPage(props: LibverPageProps): React__default.JSX.Element;
declare const jfrogArtifactoryLibsPlugin: _backstage_core_plugin_api.BackstagePlugin<{
root: _backstage_core_plugin_api.RouteRef;
}, {}, {}>;
declare const JFrogLibArtifactCard: {
(props: LibArtifactCardProps): React.JSX.Element;
defaultProps: {
title: string;
browseRepositoryLinkTitle: string;
showGradle: boolean;
showMaven: boolean;
showSbt: boolean;
showPip: boolean;
showDockerfile: boolean;
autohideTabs: boolean;
showBrowseRepositoryLink: boolean;
browseLink: (artifactoryUrl: string, artifactInfos: ArtifactInfo[] | undefined) => string;
};
};
declare const JFrogArtifactoryLibsPage: {
(props: LibArtifactCardProps): React.JSX.Element;
defaultProps: {
title: string;
browseRepositoryLinkTitle: string;
showGradle: boolean;
showMaven: boolean;
showSbt: boolean;
showPip: boolean;
showDockerfile: boolean;
autohideTabs: boolean;
showBrowseRepositoryLink: boolean;
browseLink: (artifactoryUrl: string, artifactInfos: ArtifactInfo[] | undefined) => string;
};
};
declare const JFrogLibVerPage: typeof LibverPage;
declare const JFrogLibVerPageContent: typeof LibverPageContent;
/**
* A field extension for selecting an Entity that exists in the Catalog.
*
* @public
*/
declare const ArtifactRepositoryPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent;
/**
* Props for {@link LibverTable}.
*
* @public
*/
interface LibverTableProps {
columns?: TableColumn[];
actions?: TableProps['actions'];
tableOptions?: TableProps['options'];
emptyContent?: ReactNode;
subtitle?: string;
}
declare const LibverTable: {
(props: LibverTableProps): React__default.JSX.Element;
columns: Readonly<{
createNameColumn(options?: {
defaultKind?: string | undefined;
} | undefined): TableColumn;
createOwnerColumn(): TableColumn;
createSpecTargetsColumn(): TableColumn;
createSpecTypeColumn(): TableColumn;
createVersionColumn(artifactoryUrl: string): TableColumn;
createArtifactColumn(artifactoryUrl: string): TableColumn;
createSpecLifecycleColumn(): TableColumn;
createMetadataDescriptionColumn(): TableColumn;
createTagsColumn(): TableColumn;
createTitleColumn(options?: {
hidden?: boolean | undefined;
} | undefined): TableColumn;
createLabelColumn(key: string, options?: {
title?: string | undefined;
defaultValue?: string | undefined;
} | undefined): TableColumn;
createNamespaceColumn(): TableColumn;
}>;
};
/** @public */
declare const columnFactories: Readonly<{
createNameColumn(options?: {
defaultKind?: string;
}): TableColumn;
createOwnerColumn(): TableColumn;
createSpecTargetsColumn(): TableColumn;
createSpecTypeColumn(): TableColumn;
createVersionColumn(artifactoryUrl: string): TableColumn;
createArtifactColumn(artifactoryUrl: string): TableColumn;
createSpecLifecycleColumn(): TableColumn;
createMetadataDescriptionColumn(): TableColumn;
createTagsColumn(): TableColumn;
createTitleColumn(options?: {
hidden?: boolean;
}): TableColumn;
createLabelColumn(key: string, options?: {
title?: string;
defaultValue?: string;
}): TableColumn;
createNamespaceColumn(): TableColumn;
}>;
declare const DEFAULT_PROXY_PATH = "/artifactory-proxy/";
declare const LibArtifactCard: {
(props: LibArtifactCardProps): React__default.JSX.Element;
defaultProps: {
title: string;
browseRepositoryLinkTitle: string;
showGradle: boolean;
showMaven: boolean;
showSbt: boolean;
showPip: boolean;
showDockerfile: boolean;
autohideTabs: boolean;
showBrowseRepositoryLink: boolean;
browseLink: (artifactoryUrl: string, artifactInfos: ArtifactInfo[] | undefined) => string;
};
};
type LibVerTabbedContentProps = {
props: LibArtifactCardProps;
loading: boolean;
artifactoryUrl: string;
artifactInfo: ArtifactInfo[] | undefined;
};
declare const LibVerTabbedContent: ({ props, loading, artifactoryUrl, artifactInfo, }: LibVerTabbedContentProps) => React__default.JSX.Element;
type LibVerViewProps = {
lib: LibraryArtifact;
artifactoryUrl: string;
};
declare const LibVerView: ({ lib, artifactoryUrl }: LibVerViewProps) => React__default.JSX.Element;
/**
* @public
*/
declare const entityQueryFilterExpressionSchema: z.ZodRecord;
}, "strip", z.ZodTypeAny, {
exists?: boolean | undefined;
}, {
exists?: boolean | undefined;
}>]>, z.ZodArray]>>;
/**
* @public
*/
declare const RepositoryPickerFieldSchema: _backstage_plugin_scaffolder.FieldSchema;
/**
* The input props that can be specified under `ui:options` for the
* `RepositoryPicker` field extension.
*
* @public
*/
type RepositoryPickerUiOptions = typeof RepositoryPickerFieldSchema.uiOptionsType;
type RepositoryPickerProps = typeof RepositoryPickerFieldSchema.type;
declare const ArtifactRepositoryPickerSchema: CustomFieldExtensionSchema;
type RepositoryPickerFilterQuery = z.TypeOf;
type RepositoryPickerFilterQueryValue = RepositoryPickerFilterQuery[keyof RepositoryPickerFilterQuery];
/**
* The underlying component that is rendered in the form for the `RepositoryPicker`
* field extension.
*
* @public
*/
declare const ArtifactRepositoryPicker: (props: RepositoryPickerProps) => React__default.JSX.Element;
export { ArtifactRepositoryPicker, ArtifactRepositoryPickerFieldExtension, ArtifactRepositoryPickerSchema, DEFAULT_PROXY_PATH, Data, ENTITY_ARTIFACT, ENTITY_GROUP, ENTITY_PACKAGING, ENTITY_REPO, ENTITY_SCOPE, Edge, File, JFrogArtifactoryLibsPage, JFrogLibArtifactCard, JFrogLibVerPage, JFrogLibVerPageContent, LibArtifactCard, LibArtifactCardProps, LibVerTabbedContent, LibVerView, LibraryArtifact, LibverTable, LibverTableProps, LibverTableRow, MetadataResponse, Node, Package, Repo, RepositoryPickerFieldSchema, RepositoryPickerFilterQuery, RepositoryPickerFilterQueryValue, RepositoryPickerProps, RepositoryPickerUiOptions, Stats, Versions, Vulnerabilities, columnFactories, entityQueryFilterExpressionSchema, isJfrogArtifactAvailable, isJfrogRepoAvailable, jfrogArtifactoryLibsPlugin };