import { DateTime } from 'luxon';
import type { FetchCurrentVersionQuery } from '../../graphql/graphql-sdk';
import type { QueryArtifactVersion, QueryConstraint, QueryLifecycleStep } from '../types';
import type { HistoryArtifactVersionExtended, SingleVersionArtifactVersion } from '../../versionsHistory/types';
export declare const getConstraintsStatusSummary: (constraints: QueryConstraint[]) => {
    text: string;
    status: "PENDING" | "PASS" | "FAIL" | "FORCE_PASS";
};
export declare const getLifecycleEventByType: (version: QueryArtifactVersion | undefined, type: QueryLifecycleStep['type']) => QueryLifecycleStep | undefined;
export declare const getLifecycleEventDuration: (version: QueryArtifactVersion | undefined, type: QueryLifecycleStep['type']) => string;
export declare const getLifecycleEventLink: (version: QueryArtifactVersion | undefined, type: QueryLifecycleStep['type']) => string;
export declare const isBaking: (version: QueryArtifactVersion) => boolean;
export interface LifecycleEventSummary {
    startedAt?: DateTime;
    duration?: string;
    link?: string;
    isRunning: boolean;
}
export declare const getLifecycleEventSummary: (version: QueryArtifactVersion | undefined, type: QueryLifecycleStep['type']) => LifecycleEventSummary | undefined;
export declare const isVersionVetoed: (version?: QueryArtifactVersion | SingleVersionArtifactVersion) => boolean;
export declare const isVersionPending: (version?: QueryArtifactVersion | SingleVersionArtifactVersion) => boolean;
export declare type ICurrentVersion = NonNullable<NonNullable<NonNullable<FetchCurrentVersionQuery['application']>['environments'][number]['state']['artifacts']>[number]['versions']>[number];
export declare type IVersionRelativeAgeToCurrent = 'CURRENT' | 'NEWER' | 'OLDER';
export declare const getRelativeAgeToCurrent: ({ isCurrent, createdAt, currentVersion, }: {
    isCurrent?: boolean;
    createdAt?: string;
    currentVersion?: ICurrentVersion;
}) => IVersionRelativeAgeToCurrent;
export interface IVersionDetails {
    buildNumber?: string;
    commitMessage?: string;
    commitSha?: string;
    createdAt?: string;
}
export declare const extractVersionRollbackDetails: (version: QueryArtifactVersion | HistoryArtifactVersionExtended | ICurrentVersion) => IVersionDetails;
