/**
 * ProjectManager API for TypeScript
 *
 * (c) ProjectManager.com, Inc.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @author     ProjectManager.com <support@projectmanager.com>
 * @copyright  ProjectManager.com, Inc.
 * @link       https://github.com/projectmgr/projectmanager-sdk-typescript
 */
import { ProjectManagerClient } from "../index.js";
import { AstroResult } from "../index.js";
import { ProjectVersionDto } from "../index.js";
import { ProjectRestoreProjectDto } from "../index.js";
export declare class ProjectVersionClient {
    private readonly client;
    /**
     * Internal constructor for this client library
     */
    constructor(client: ProjectManagerClient);
    /**
     * Returns projects versions including version, user who made changes
     *
     * @param projectId The unique identifier of the Project
     */
    retrieveProjectVersions(projectId: string): Promise<AstroResult<ProjectVersionDto[]>>;
    /**
     * Exports and returns project version as an MS Project XML attachment
     *
     * @param projectChangeId Project change Guid
     */
    downloadMSProjectXml(projectChangeId: string): Promise<AstroResult<Blob>>;
    /**
     * Restores a Project to the state it was in at a specific Version in time.
     *
     * If successful, all changes made to the Project since this Version will be undone and the Project will
     * return to its former state.
     *
     * @param projectId The unique identifier of the Project to restore
     * @param version The version number to restore to
     */
    restoreProjectVersion(projectId: string, version: number): Promise<AstroResult<ProjectRestoreProjectDto>>;
    /**
     * Create a Copy of a Project as of a specific Version, optionally moving it to a new Timezone.
     *
     * @param projectId The unique identifier of the Project to copy
     * @param version The version number of the Project to copy
     * @param timezoneOffset If specified, sets the default timezone of the newly copied Project to this specified timezone
     */
    copyProjectVersion(projectId: string, version: number, timezoneOffset?: number): Promise<AstroResult<ProjectRestoreProjectDto>>;
}
