import { IVersionRef, KvpStoreTypesEnum } from "../../apis/codiac-relay/contracts";
export type AutoscalingProfile = {
    max: number;
    min?: number | undefined;
    disabled?: boolean | undefined;
    metrics?: {
        [key: string]: IAutoscalingMetric | ('disabled' | 'enabled');
    };
};
/** Parameters declaring the thresholds for autoscaling against a single given metric
 *  (such as declaring a target of 65% memory utilization). */
export type IAutoscalingMetric = {
    targetValue?: number | undefined;
    targetUnits?: string | undefined;
    disabled?: boolean | undefined;
};
export type CpuSpec = {};
export type DeployedState = {
    version: EnterpriseVersionConfig;
    configState: object;
    deployedOn: Date;
    deployedBy: string;
};
export type EnterpriseVersionConfig = {
    enterprise: string;
    entityType: string;
    entityName: string;
    version: string;
    tags?: Tag[] | undefined;
    contents?: IVersionRef[] | undefined;
    contentHash?: string | undefined;
    id?: string | undefined;
    createdBy: string;
    modifiedBy: string;
    created: Date;
    modified: Date;
    /** Markdown block of instructions or other descriptions from the author about this particular version. */
    notes?: string | undefined;
    /** Key-value pairs (aka: property bag) for this particular version. */
    labels?: Label[] | undefined;
    /** Starting point for threaded discussions on this particular version. */
    comments?: Comment[] | undefined;
};
export type Tag = {
    name: string;
    ownerType: string;
    ownerId: string;
    enterprise: string;
    id?: string | undefined;
    createdBy: string;
    modifiedBy: string;
    created: Date;
    modified: Date;
};
/** A key-value pair applied to an entity in an enterprise. */
export type Label = {
    value: string;
    name: string;
    ownerType: string;
    ownerId: string;
    enterprise: string;
    id?: string | undefined;
    createdBy: string;
    modifiedBy: string;
    created: Date;
    modified: Date;
};
/** Metadata describing an existing concrete instance
 *  of a FileStoreDef resource within a cloud provider. */
export type FileStoreInfrx = {
    providerSubscriptionId: string;
    resourceId: string;
};
/** The information needed to access an individual key value pair
 *  from a predefined data store. */
export type KvpReference = {
    type: KvpStoreTypesEnum;
    name: string;
    key: any;
};
/** A time signature declaring an hour of the day for a day of the week (eg: "Mondays at 8am").
 *
 *  This entity is NOT an actual in time, but instead is essentially a template,
 *  which, only when applied to an actual calendar,
 *  can then produce a concrete point in time. */
export type WeeklyTime = {
    day: "fr" | "mo" | "sa" | "su" | "th" | "tu" | "we";
    hr24: "0" | "1" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "2" | "20" | "21" | "22" | "23" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
    /** DEVNOTE:  Do these need to be strings?  why not integers? */
    m?: string | undefined;
};
/** Indicates which authentication flow is to be used with the given credentials. */
export type CredentialType = "client_credentials" | "username_password" | "refresh_token";
/** Indicates which authentication flow is to be used with the given credentials. */
export declare const CredentialType: {
    client_credentials: string;
    username_password: string;
    refresh_token: string;
};
export type AnyAllNoneEnum = "any" | "all" | "none";
export declare const AnyAllNoneEnum: {
    any: string;
    all: string;
    none: string;
};
