import { DTOPipeline } from "@supernova-studio/client";
import { ExportBuild } from "./exporter_builds/SDKExportBuild";
export type ExporterConfigurationProperties = Record<string, boolean | number | string | Array<string> | Record<string, string>>;
export type NewPipelinePayloadDestination = "Github" | "Gitlab" | "Bitbucket" | "Azure" | "WebhookUrl" | "S3" | "Documentation";
export declare class Pipeline {
    id: string;
    workspaceId: string;
    designSystemId: string;
    name: string;
    isEnabled: boolean;
    exporterConfigurationProperties?: ExporterConfigurationProperties;
    eventType: "OnVersionReleased" | "OnHeadChanged" | "OnSourceUpdated" | "OnDocumentationPublished" | "None";
    exporterId: string;
    destinations: {
        webhookUrl?: string;
        documentation?: {
            environment: "Live" | "Preview";
        };
        s3?: Record<any, any>;
        github?: {
            url: string;
            branch: string;
            relativePath?: string;
            purgeDirectory?: boolean;
            commitAuthorName?: string;
            commitAuthorEmail?: string;
            commitMessage?: string;
            pullRequestTitle?: string;
            pullRequestDescription?: string;
        };
        azure?: {
            organizationId: string;
            projectId: string;
            repositoryId: string;
            branch: string;
            relativePath?: string;
            url?: string;
            purgeDirectory?: boolean;
            commitAuthorName?: string;
            commitAuthorEmail?: string;
            commitMessage?: string;
            pullRequestTitle?: string;
            pullRequestDescription?: string;
        };
        gitlab?: {
            projectId: string;
            branch: string;
            relativePath?: string;
            url?: string;
            purgeDirectory?: boolean;
            commitAuthorName?: string;
            commitAuthorEmail?: string;
            commitMessage?: string;
            pullRequestTitle?: string;
            pullRequestDescription?: string;
        };
        bitbucket?: {
            workspaceSlug: string;
            projectKey: string;
            repoSlug: string;
            branch: string;
            relativePath?: string;
            url?: string;
            purgeDirectory?: boolean;
            commitAuthorName?: string;
            commitAuthorEmail?: string;
            commitMessage?: string;
            pullRequestTitle?: string;
            pullRequestDescription?: string;
        };
    };
    brandPersistentId?: string;
    themePersistentIds?: string[];
    /** @deprecated Use themePersistentIds instead */
    themePersistentId?: string;
    latestJobs: Array<ExportBuild>;
    isExporterDeprecated: boolean;
    constructor(data: DTOPipeline);
    get isBuildOnly(): boolean;
    get gitProviderType(): "github" | "bitbucket" | "gitlab" | "azure" | null;
    get toRemoteModel(): DTOPipeline;
    get isRunning(): boolean;
    private parseLatestJobs;
}
