export type DesignSystemVersionRemoteModel = {
    id: string;
    designSystemId: string;
    isReadonly: boolean;
    meta: {
        name: string;
        description: string;
    };
    version: string;
    createdAt: string;
    changeLog: string;
};
export type DesignSystemVersionCreateRemoteModel = Omit<DesignSystemVersionRemoteModel, "id" | "createdAt"> & {
    jobId: string;
};
type DesignSystemVersionCreationJobStatus = "Success" | "Error" | "InProgress";
export type DesignSystemVersionCreationJobRemoteModel = {
    id: string;
    version: string;
    designSystemId: string;
    designSystemVersionId?: string;
    status: DesignSystemVersionCreationJobStatus;
    message?: string;
};
export type DesignSystemVersionUpdateModel = {
    version: string;
    name?: string;
    description?: string;
    changeLog?: string;
};
export type DesignSystemVersionTransportModel = Pick<DesignSystemVersion, "id" | "designSystemId" | "isReadonly" | "name" | "description" | "version" | "changeLog"> & {
    createdAt: string;
};
export type DesignSystemVersionCreateTransportModel = Pick<DesignSystemVersion, "designSystemId" | "isReadonly" | "name" | "description" | "version" | "changeLog"> & {
    jobId: string;
};
export declare class DesignSystemVersionCreate {
    /** Identifier of design system this version is created in */
    designSystemId: string;
    /** Design system version name */
    name: string;
    /** Design system version description */
    description: string;
    /** If version is in read-only mode, it can't be modified - only documentation that can be improved */
    isReadonly: boolean;
    /** Semantic name of version. Will be null if the version is in draft mode */
    version: string | null;
    /** Change log for the version. Will be null if the version is in draft mode */
    changeLog: string | null;
    /** ID of job creation. */
    jobId: string;
    constructor(model: DesignSystemVersionCreateRemoteModel);
    /** Constructs representation that can be used to write full object to remote */
    toRemote(): DesignSystemVersionCreateRemoteModel;
    /** Constructs representation that can be used to transport the instantiated object as JSON, for example for SSR <> Client use-cases. Reconstruct to class instance using `fromTransport` */
    toTransport(): DesignSystemVersionCreateTransportModel;
    /** Reconstructs class from the transport model */
    static fromTransport(model: DesignSystemVersionCreateTransportModel): DesignSystemVersionCreate;
}
export declare class DesignSystemVersion {
    /** Unique identifier of design system version */
    id: string;
    /** Identifier of design system this version is created in */
    designSystemId: string;
    /** Design system version name */
    name: string;
    /** Design system version description */
    description: string;
    /** If version is in read-only mode, it can't be modified - only documentation that can be improved */
    isReadonly: boolean;
    /** Semantic name of version. Will be null if the version is in draft mode */
    version: string | null;
    /** Change log for the version. Will be null if the version is in draft mode */
    changeLog: string | null;
    /** The initial date of the creation of this version */
    createdAt: Date;
    constructor(model: DesignSystemVersionRemoteModel);
    /** Constructs representation that can be used to write full object to remote */
    toRemote(): DesignSystemVersionRemoteModel;
    /** Constructs representation that can be used to transport the instantiated object as JSON, for example for SSR <> Client use-cases. Reconstruct to class instance using `fromTransport` */
    toTransport(): DesignSystemVersionTransportModel;
    /** Reconstructs class from the transport model */
    static fromTransport(model: DesignSystemVersionTransportModel): DesignSystemVersion;
}
export declare class DesignSystemVersionCreationJob {
    id: string;
    /** Semantic name of version. */
    version: string;
    /** Identifier of design system this version is created in */
    designSystemId: string;
    /** Identifier of version in design system. Filled only when status is equal to Success */
    designSystemVersionId: string | null;
    /** Status of current job */
    status: DesignSystemVersionCreationJobStatus;
    /** Mesage if job failed. Otherwise null */
    message: string | null;
    constructor(model: DesignSystemVersionCreationJobRemoteModel);
}
export {};
