import { DesignSystemVersion, DesignSystemVersionCreate, DesignSystemVersionCreationJob, DesignSystemVersionUpdateModel } from "../../model/base/SDKDesignSystemVersion";
import { DataCore } from "../data/SDKDataCore";
import { RemoteVersionIdentifier } from "./SDKRemoteIdentifiers";
export declare class AreaVersions {
    /** Internal: Engine */
    private dataCore;
    constructor(dataCore: DataCore);
    /** Fetches active design system version - the one to which all changes are being written currently. There is always one active version available for any provided design system. */
    getActiveVersion(designSystemId: string): Promise<DesignSystemVersion | null>;
    /** Creates new version and retrieves the newly created version object.
     * @param designSystemId - ID of the design system
     * @param model - new version model
     * @returns Newly created version object
     */
    createVersion(designSystemId: string, model: DesignSystemVersionUpdateModel): Promise<DesignSystemVersionCreate>;
    /** Edits version
     * @param designSystemId - ID of the design system
     * @param versionId - ID of version
     * @param model - new version model
     * @returns nothing
     */
    editVersion(designSystemId: string, versionId: string, model: DesignSystemVersionUpdateModel): Promise<void>;
    /** Deletes version
     * @param designSystemId - ID of the design system
     * @param versionId - ID of version
     * @returns nothing
     */
    deleteVersion(designSystemId: string, versionId: string): Promise<void>;
    /** Fetches all design system versions of provided design system */
    getVersions(designSystemId: string): Promise<Array<DesignSystemVersion>>;
    /** Fetches design system version by id */
    getVersion(from: RemoteVersionIdentifier): Promise<DesignSystemVersion>;
    /** Fetches version creation job */
    getVersionCreationJob(designSystemId: string, jobId: string): Promise<DesignSystemVersionCreationJob>;
    /** Fetches all version creation jobs */
    getVersionCreationJobs(designSystemId: string): Promise<DesignSystemVersionCreationJob[]>;
    getTokenStudioData(from: RemoteVersionIdentifier): Promise<object>;
    writeTokenStudioData(from: RemoteVersionIdentifier, data: object): Promise<object>;
}
