import { DocumentationEnvironment } from "../../enums/SDKDocumentationEnvironment";
export type S3ExportDestinationModel = {
    url: string | null;
};
/**
 * Type definition for the data model of an S3 export destination.
 * @typedef {Object} S3ExportDestinationModel
 * @property {string|null} url - The URL of the S3 export destination or null.
 */
export declare class S3ExportDestination {
    url: string | null;
    constructor(data: S3ExportDestinationModel);
}
export type AzureExportDestinationModel = {
    connectionId: string | null;
    organizationId: string;
    projectId: string;
    repositoryId: string;
    branch: string;
    relativePath: string;
    url: string | null;
};
export declare class AzureExportDestination {
    connectionId: string | null;
    organizationId: string;
    projectId: string;
    repositoryId: string;
    branch: string;
    relativePath: string;
    url: string | null;
    constructor(data: AzureExportDestinationModel);
}
export type BitbucketExportDestinationModel = {
    connectionId: string | null;
    workspaceSlug: string;
    projectKey: string;
    repoSlug: string;
    branch: string;
    relativePath: string;
    url: string | null;
};
export declare class BitbucketExportDestination {
    connectionId: string | null;
    workspaceSlug: string;
    projectKey: string;
    repoSlug: string;
    branch: string;
    relativePath: string;
    url: string | null;
    constructor(data: BitbucketExportDestinationModel);
}
export type GithubExportDestinationModel = {
    connectionId: string | null;
    url: string;
    branch: string;
    relativePath: string;
};
export declare class GithubExportDestination {
    connectionId: string | null;
    url: string;
    branch: string;
    relativePath: string;
    constructor(data: GithubExportDestinationModel);
}
export type GitlabExportDestinationModel = {
    connectionId: string | null;
    repositoryId: string;
    branch: string;
    relativePath: string;
    url: string | null;
};
export declare class GitlabExportDestination {
    connectionId: string | null;
    repositoryId: string;
    branch: string;
    relativePath: string;
    url: string | null;
    constructor(data: GitlabExportDestinationModel);
}
export type DocsExportDestinationModel = {
    environment: DocumentationEnvironment;
    changes: DocsExportDestinationChanges | null;
};
export type DocsExportDestinationChanges = {
    selectivePublishing: boolean | null;
};
/**
 * Type definition for the data model of a documentation export destination.
 * @typedef {Object} DocsExportDestinationModel
 * @property {DocumentationEnvironment|null} environment - The environment of the docs export build.
 */
export declare class DocsExportDestination {
    environment: DocumentationEnvironment;
    changes: DocsExportDestinationChanges | null;
    constructor(data: DocsExportDestinationModel);
}
export type ExportDestinationsModel = {
    s3: S3ExportDestination | null;
    azure: AzureExportDestination | null;
    bitbucket: BitbucketExportDestination | null;
    github: GithubExportDestination | null;
    gitlab: GitlabExportDestination | null;
    documentation: DocsExportDestination | null;
    webhookUrl: string | null;
};
/**
 * Type definition for the data model of export destinations.
 * @typedef {Object} ExportDestinationsModel
 * @property {S3ExportDestination|null} s3 - The S3 export destination, or null if not available.
 * @property {AzureExportDestination|null} azure - The Azure export destination, or null if not available.
 * @property {BitbucketExportDestination|null} bitbucket - The Bitbucket export destination, or null if not available.
 * @property {GithubExportDestination|null} github - The Github export destination, or null if not available.
 * @property {GitlabExportDestination|null} gitlab - The Gitlab export destination, or null if not available.
 * @property {DocsExportDestination|null} documentation - The documentation associated with the export destinations, or null if not available.
 * @property {string|null} webhookUrl - The webhook URL associated with the export destinations, or null if not available.
 */
export declare class ExportDestinations {
    s3: S3ExportDestination | null;
    azure: AzureExportDestination | null;
    bitbucket: BitbucketExportDestination | null;
    github: GithubExportDestination | null;
    gitlab: GitlabExportDestination | null;
    documentation: DocsExportDestination | null;
    webhookUrl: string | null;
    constructor(data: ExportDestinationsModel);
    /**
     * Determines whether there is a pull request (PR) destination available.
     * @returns {boolean} - Returns true if any of the export destinations (azure, bitbucket, github, gitlab) is available.
     */
    get hasPRDestination(): boolean;
}
