import type { IPipelineTemplateConfigV2 } from '../../../domain'; import type { IPipeline } from '../../../domain/IPipeline'; import type { IPipelineTemplateV2Collections } from '../../../domain/IPipelineTemplateV2'; export interface IPipelineTemplate { id: string; selfLink?: string; metadata: ITemplateMetadata; protect: boolean; schema: string; source: string; stages: ITemplateStage[]; variables: IVariableMetadata[]; } export interface ITemplateMetadata { description: string; name: string; owner: string; } export interface IVariableMetadata { defaultValue?: any; description?: string; example?: string; group?: string; name: string; type: VariableType; } export type VariableType = 'int' | 'float' | 'list' | 'object' | 'string' | 'boolean'; export interface ITemplateStage { dependsOn: string[]; id: string; name: string; type: string; } export interface IPipelineTemplateConfig extends Partial { type: string; plan?: boolean; config?: { schema: string; pipeline: { name: string; application: string; pipelineConfigId?: string; template: { source: string; }; variables?: { [key: string]: any; }; }; configuration?: { inherit?: string[]; }; }; } export interface IPipelineTemplatePlanResponse { errors: IPipelineTemplatePlanError[]; message: string; status: string; } export interface IPipelineTemplatePlanError { severity: string; message: string; location: string; cause: string; suggestion: string; details: { [key: string]: string; }; nestedErrors: IPipelineTemplatePlanError[]; } export declare class PipelineTemplateReader { static getPipelineTemplateFromSourceUrl(source: string, executionId?: string, pipelineConfigId?: string): PromiseLike; static getPipelinePlan(config: IPipelineTemplateConfig | IPipelineTemplateConfigV2, executionId?: string): PromiseLike; static getPipelineTemplatesByScope: (scope: string) => PromiseLike; static getPipelineTemplatesByScopes(scopes: string[]): PromiseLike; static getPipelineTemplateConfig({ name, application, source, }: { name: string; application: string; source: string; }): Partial; static getV2PipelineTemplateList(): PromiseLike; }