import type { ICanBeVersionControlled } from "./canBeVersionControlledResource"; import type { ICommitCommand } from "./commitCommand"; import type { DeploymentProcessResourceLinks } from "./deploymentProcessResourceLinks"; import type { DeploymentStepResource } from "./deploymentStepResource"; import { Permission } from "./permission"; import type { ResourceWithId } from "./resource"; import type { RunbookProcessResource } from "./runbookProcessResource"; import type { NewSpaceScopedResource } from "./spaceScopedResource"; export interface IProcessResource extends ResourceWithId { Id: string; LastSnapshotId?: string; ProjectId: string; SpaceId: string; Steps: DeploymentStepResource[]; Version: number; } export declare type DeploymentProcessResource = IProcessResource & ICanBeVersionControlled; export declare type ModifyDeploymentProcessCommand = DeploymentProcessResource & ICommitCommand; export interface NewDeploymentProcessResource extends NewSpaceScopedResource { ProjectId: string; } export declare function isDeploymentProcessResource(resource: IProcessResource | null | undefined): resource is NonNullable; export declare function isRunbookProcessResource(resource: IProcessResource | null | undefined): resource is NonNullable; export declare function processResourcePermission(resource: IProcessResource): Permission; export interface DeploymentProcessOclResource { Ocl: string; } export declare type ModifyDeploymentProcessOclCommand = DeploymentProcessOclResource & ICommitCommand;