import { ConcurrencyV2Limit } from '../models/ConcurrencyV2Limit';
import { CreatedOrUpdatedBy } from '../models/CreatedOrUpdatedBy';
import { DeploymentSchedule } from '../models/DeploymentSchedule';
import { DeploymentStatus } from '../models/DeploymentStatus';
import { DeploymentVersionInfo } from '../models/DeploymentVersionInfo';
import { ObjectLevelCan } from '../models/ObjectLevelCan';
import { SchemaV2, SchemaValuesV2 } from '../schemas';
export declare const deploymentCollisionStrategies: readonly ["ENQUEUE", "CANCEL_NEW"], isDeploymentCollisionStrategy: (value: unknown) => value is "ENQUEUE" | "CANCEL_NEW";
export type DeploymentCollisionStrategy = typeof deploymentCollisionStrategies[number];
export type DeploymentConcurrencyOptions = {
    collisionStrategy: DeploymentCollisionStrategy;
};
export interface IDeployment {
    id: string;
    created: Date;
    createdBy: CreatedOrUpdatedBy | null;
    updated: Date;
    updatedBy: CreatedOrUpdatedBy | null;
    name: string;
    version: string;
    versionInfo: DeploymentVersionInfo | null;
    description: string | null;
    flowId: string;
    versionId: string | null;
    paused: boolean;
    schedules: DeploymentSchedule[];
    parameters: SchemaValuesV2;
    parameterOpenApiSchema: SchemaV2;
    tags: string[] | null;
    manifestPath: string | null;
    path: string | null;
    entrypoint: string | null;
    storageDocumentId: string | null;
    infrastructureDocumentId: string | null;
    jobVariables: Record<string, unknown> | null;
    workQueueName: string | null;
    workPoolName: string | null;
    enforceParameterSchema: boolean;
    pullSteps: unknown;
    can: ObjectLevelCan<'deployment'>;
    status: DeploymentStatus;
    disabled: boolean;
    globalConcurrencyLimit: ConcurrencyV2Limit | null;
    concurrencyOptions: DeploymentConcurrencyOptions | null;
}
export declare class Deployment implements IDeployment {
    readonly id: string;
    readonly kind = "deployment";
    created: Date;
    createdBy: CreatedOrUpdatedBy | null;
    updated: Date;
    updatedBy: CreatedOrUpdatedBy | null;
    name: string;
    version: string;
    versionInfo: DeploymentVersionInfo | null;
    description: string | null;
    readonly flowId: string;
    readonly versionId: string | null;
    paused: boolean;
    schedules: DeploymentSchedule[];
    parameters: SchemaValuesV2;
    parameterOpenApiSchema: SchemaV2;
    tags: string[] | null;
    manifestPath: string | null;
    path: string | null;
    entrypoint: string | null;
    storageDocumentId: string | null;
    infrastructureDocumentId: string | null;
    jobVariables: Record<string, unknown> | null;
    workQueueName: string | null;
    workPoolName: string | null;
    enforceParameterSchema: boolean;
    pullSteps: unknown;
    can: ObjectLevelCan<'deployment'>;
    status: DeploymentStatus;
    disabled: boolean;
    globalConcurrencyLimit: ConcurrencyV2Limit | null;
    concurrencyOptions: DeploymentConcurrencyOptions | null;
    constructor(deployment: IDeployment);
    get concurrencyLimit(): number | null;
    get deprecated(): boolean;
    get appliedBy(): string | null;
}
