import type { ActionTemplateParameterResource } from "./actionTemplateParameterResource"; import type { DeploymentActionPackageResource } from "./deploymentActionPackageResource"; import type { MetadataTypeCollection } from "./dynamicFormResources"; import type { ExtensionSettingsValues } from "./extensionSettingsValues"; import type { LifecycleResource } from "./lifecycleResource"; import type { NamedResource } from "./namedResource"; import type { ProjectGroupResource } from "./projectGroupResource"; import type { SensitiveValue } from "./propertyValueResource"; import type { ResourceWithLinks } from "./resource"; import type { NewSpaceScopedResource, SpaceScopedResource } from "./spaceScopedResource"; import type { TenantedDeploymentMode } from "./tenantedDeploymentMode"; import type { GitRef } from "./versionControlledResource"; interface BaseProjectResourceLinks { Self: string; Releases: string; Channels: string; Triggers: string; ScheduledTriggers: string; OrderChannels: string; Variables: string; Progression: string; RunbookTaskRunDashboardItemsTemplate: string; DeploymentProcess: string; Web: string; Logo: string; Metadata: string; Runbooks: string; RunbookSnapshots: string; Summary: string; DeploymentSettings: string; } declare type VcsProjectResourceLinks = BaseProjectResourceLinks & { Branches: string; }; declare type DatabaseProjectResourceLinks = BaseProjectResourceLinks & { ConvertToVcs: string; }; declare type ProjectResourceLinks = VcsProjectResourceLinks | DatabaseProjectResourceLinks; export declare enum PersistenceSettingsType { VersionControlled = "VersionControlled", Database = "Database" } interface DatabasePersistenceSettings { Type: PersistenceSettingsType.Database; } export interface VersionControlledPersistenceSettings { Type: PersistenceSettingsType.VersionControlled; Credentials: AnonymousVcsCredentials | UsernamePasswordVcsCredentials; Url: string; DefaultBranch: string; BasePath: string; } export declare enum AuthenticationType { Anonymous = "Anonymous", UsernamePassword = "UsernamePassword" } export interface UsernamePasswordVcsCredentials { Type: AuthenticationType.UsernamePassword; Username: string; Password: SensitiveValue; } export interface AnonymousVcsCredentials { Type: AuthenticationType.Anonymous; } export declare function IsUsingUsernamePasswordAuth(T: AnonymousVcsCredentials | UsernamePasswordVcsCredentials): T is UsernamePasswordVcsCredentials; export declare function HasVcsProjectResourceLinks(links: ProjectResourceLinks): links is VcsProjectResourceLinks; export declare function HasVersionControlledPersistenceSettings(T: VersionControlledPersistenceSettings | DatabasePersistenceSettings): T is VersionControlledPersistenceSettings; export interface ProjectResource extends NamedResource, SpaceScopedResource { VariableSetId: string; DeploymentProcessId: string; DiscreteChannelRelease: boolean; IncludedLibraryVariableSetIds: string[]; TenantedDeploymentMode: TenantedDeploymentMode; ReleaseCreationStrategy: ReleaseCreationStrategy; Templates: ActionTemplateParameterResource[]; AutoDeployReleaseOverrides: any[]; LifecycleId: string; AutoCreateRelease: boolean; ClonedFromProjectId: string; ExtensionSettings: ExtensionSettingsValues[]; IsVersionControlled: boolean; PersistenceSettings: VersionControlledPersistenceSettings | DatabasePersistenceSettings; Slug: string; ProjectGroupId: string; Description: string; IsDisabled: boolean; } export declare type ProjectOrSummaryResource = ProjectResource | ProjectSummaryResource; export interface ProjectSummaryResource extends NamedResource, SpaceScopedResource { Slug: string; ProjectGroupId: string; Description: string; IsDisabled: boolean; } export interface NewProjectResource extends NewSpaceScopedResource { Name: string; Description?: string; ProjectGroupId: string; LifecycleId: string; } export declare function NewProject(name: string, projectGroup: ProjectGroupResource, lifecycle: LifecycleResource): NewProjectResource; export interface ProjectSettingsMetadata { ExtensionId: string; Metadata: MetadataTypeCollection; } export interface ReleaseCreationStrategy { ReleaseCreationPackage: DeploymentActionPackageResource; ChannelId?: string; ReleaseCreationPackageStepId?: string; } export interface VersionControlCompatibilityResponse { Errors: string[]; Warnings: string[]; Notices: string[]; } export interface ConvertProjectToVersionControlledResponse { Messages: string[]; } export interface RecentlyViewedProjectIds { [key: string]: string[]; } export declare function isVcsBranchResource(branch: unknown): branch is VcsBranchResource; declare type VcsBranchResourceLinks = { DeploymentProcess: string; DeploymentSettings: string; Runbook: string; ReleaseTemplate: string; Channels: string; }; export interface VcsBranchResource extends ResourceWithLinks { Name: GitRef; } export declare function getURISafeBranchName(branch: VcsBranchResource): string; export declare function getBranchNameFromRouteParameter(routeParameter: string | undefined): string | undefined; export {};