import type { DateTime } from 'luxon'; import React from 'react'; import type { LifecycleEventSummary } from '../overview/artifact/utils'; import './VersionMetadata.less'; export declare const MetadataElement: React.FC<{ className?: string; }>; export declare const METADATA_TEXT_COLOR = "nobel"; export interface VersionMessageData { by?: string; at?: string; comment?: string; } export interface ICompareLinks { previous?: string; current?: string; } export declare const toPinnedMetadata: (data: { pinnedAt?: string; pinnedBy?: string; comment?: string; }) => VersionMessageData; export declare const toVetoedMetadata: (data: { vetoedAt?: string; vetoedBy?: string; comment?: string; }) => VersionMessageData; export interface IVersionMetadataProps { build?: IVersionBuildProps['build']; author?: string; deployedAt?: string; buildsBehind?: number; isDeploying?: boolean; isPending?: boolean; bake?: LifecycleEventSummary; pinned?: VersionMessageData; vetoed?: VersionMessageData; isCurrent?: boolean; } interface IVersionCreatedAtProps { createdAt?: string | DateTime; linkProps: Record; } export declare const VersionCreatedAt: ({ createdAt, linkProps }: IVersionCreatedAtProps) => JSX.Element; declare const badgeTypeToDetails: { deploying: { className: string; text: string; }; baking: { className: string; text: string; }; deployed: { className: string; text: string; }; }; interface IMetadataBadgeProps { type: keyof typeof badgeTypeToDetails; tooltip?: string; link?: string; } export declare const MetadataBadge: ({ type, link, tooltip }: IMetadataBadgeProps) => JSX.Element; interface IVersionMessage { data: VersionMessageData; type: 'pinned' | 'vetoed'; newRow?: boolean; } export declare const VersionMessage: ({ data, type, newRow }: IVersionMessage) => JSX.Element; interface IVersionAuthorProps { author?: string; } export declare const VersionAuthor: ({ author }: IVersionAuthorProps) => JSX.Element; interface IVersionBranchProps { branch?: string; } export declare const VersionBranch: ({ branch }: IVersionBranchProps) => JSX.Element; interface IVersionBuildProps { build: { buildNumber?: string; version?: string; } & Partial; withPrefix?: boolean; } export declare const VersionBuild: ({ build, withPrefix }: IVersionBuildProps) => JSX.Element; interface IVersionBuildsProps { builds: Array; } export declare const VersionBuilds: ({ builds }: IVersionBuildsProps) => JSX.Element; export declare const BaseVersionMetadata: React.FC; interface ILifecycleEventDetailsProps extends Partial { title: string; showLink?: boolean; version?: string; } export declare const LifecycleEventDetails: ({ version, duration, link, startedAt, title, showLink, }: ILifecycleEventDetailsProps) => JSX.Element; type IDeploymentStatusProps = Pick; export declare const DeploymentStatus: ({ deployedAt, isCurrent, isPending, isDeploying }: IDeploymentStatusProps) => JSX.Element; export {};