import type { DateTime } from 'luxon';
import type { FetchVersionQuery, FetchVersionsHistoryQuery } from '../graphql/graphql-sdk';
export declare type HistoryEnvironment = NonNullable<FetchVersionsHistoryQuery['application']>['environments'][number];
export declare type HistoryArtifact = NonNullable<HistoryEnvironment['state']['artifacts']>[number];
export declare type HistoryArtifactVersion = NonNullable<HistoryArtifact['versions']>[number];
export declare type SingleVersionEnvironment = NonNullable<FetchVersionQuery['application']>['environments'][number];
export declare type SingleVersionArtifact = NonNullable<SingleVersionEnvironment['state']['artifacts']>[number];
export declare type SingleVersionArtifactVersion = NonNullable<SingleVersionArtifact['versions']>[number];
export interface HistoryArtifactVersionExtended extends HistoryArtifactVersion {
    reference: string;
    type: string;
}
export interface VersionData {
    type: 'BUILD_NUMBER' | 'SHA';
    buildNumbers: Set<string>;
    versions: Set<string>;
    createdAt?: DateTime;
    isBaking?: boolean;
    isFocused?: boolean;
    environments: {
        [env: string]: {
            versions: HistoryArtifactVersionExtended[];
            isPinned?: boolean;
            isPreview?: boolean;
            basedOn?: HistoryEnvironment['basedOn'];
            gitMetadata?: HistoryEnvironment['gitMetadata'];
        };
    };
    gitMetadata?: HistoryArtifactVersion['gitMetadata'];
    key: string;
}
export interface PinnedVersions {
    [env: string]: {
        [artifact: string]: HistoryArtifact['pinnedVersion'];
    };
}
