/// <reference types="node" />
import axios = require("axios");
import { Configuration } from "./configuration";
import * as model from "./model";
export * from "./model";
export * from "./configuration";
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class CompareApi {
    /**
     * Creates new instance of CompareApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): CompareApi;
    /**
     * Creates new instance of CompareApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): CompareApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Compares source and target documents and returns a link to saved result
     * @param requestObj contains request parameters
     */
    comparisons(requestObj: model.ComparisonsRequest): Promise<model.Link>;
    /**
     * Retrieves a list of changes between source and target documents
     * @param requestObj contains request parameters
     */
    postChanges(requestObj: model.PostChangesRequest): Promise<Array<model.ChangeInfo>>;
    /**
     * Accepts or rejects changes to the resultant document and returns a link to saved result
     * @param requestObj contains request parameters
     */
    putChangesDocument(requestObj: model.PutChangesDocumentRequest): Promise<model.Link>;
}
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class FileApi {
    /**
     * Creates new instance of FileApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): FileApi;
    /**
     * Creates new instance of FileApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): FileApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Copy file
     * @param requestObj contains request parameters
     */
    copyFile(requestObj: model.CopyFileRequest): Promise<axios.AxiosResponse>;
    /**
     * Delete file
     * @param requestObj contains request parameters
     */
    deleteFile(requestObj: model.DeleteFileRequest): Promise<axios.AxiosResponse>;
    /**
     * Download file
     * @param requestObj contains request parameters
     */
    downloadFile(requestObj: model.DownloadFileRequest): Promise<Buffer>;
    /**
     * Move file
     * @param requestObj contains request parameters
     */
    moveFile(requestObj: model.MoveFileRequest): Promise<axios.AxiosResponse>;
    /**
     * Upload file
     * @param requestObj contains request parameters
     */
    uploadFile(requestObj: model.UploadFileRequest): Promise<model.FilesUploadResult>;
}
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class FolderApi {
    /**
     * Creates new instance of FolderApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): FolderApi;
    /**
     * Creates new instance of FolderApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): FolderApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Copy folder
     * @param requestObj contains request parameters
     */
    copyFolder(requestObj: model.CopyFolderRequest): Promise<axios.AxiosResponse>;
    /**
     * Create the folder
     * @param requestObj contains request parameters
     */
    createFolder(requestObj: model.CreateFolderRequest): Promise<axios.AxiosResponse>;
    /**
     * Delete folder
     * @param requestObj contains request parameters
     */
    deleteFolder(requestObj: model.DeleteFolderRequest): Promise<axios.AxiosResponse>;
    /**
     * Get all files and folders within a folder
     * @param requestObj contains request parameters
     */
    getFilesList(requestObj: model.GetFilesListRequest): Promise<model.FilesList>;
    /**
     * Move folder
     * @param requestObj contains request parameters
     */
    moveFolder(requestObj: model.MoveFolderRequest): Promise<axios.AxiosResponse>;
}
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class InfoApi {
    /**
     * Creates new instance of InfoApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): InfoApi;
    /**
     * Creates new instance of InfoApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): InfoApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Gets document information
     * @param requestObj contains request parameters
     */
    getDocumentInfo(requestObj: model.GetDocumentInfoRequest): Promise<model.InfoResult>;
    /**
     * Retrieves supported file formats list
     * @param requestObj contains request parameters
     */
    getSupportedFileFormats(): Promise<model.FormatsResult>;
}
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class LicenseApi {
    /**
     * Creates new instance of LicenseApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): LicenseApi;
    /**
     * Creates new instance of LicenseApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): LicenseApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Get license consumption
     * @param requestObj contains request parameters
     */
    getConsumptionCredit(): Promise<model.ConsumptionResult>;
}
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class PreviewApi {
    /**
     * Creates new instance of PreviewApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): PreviewApi;
    /**
     * Creates new instance of PreviewApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): PreviewApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Creates a preview images of document pages and returns an array of links to saved result
     * @param requestObj contains request parameters
     */
    preview(requestObj: model.PreviewRequest): Promise<Array<model.Link>>;
}
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class ReviewApi {
    /**
     * Creates new instance of ReviewApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): ReviewApi;
    /**
     * Creates new instance of ReviewApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): ReviewApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Accepts or rejects revisions in DOCX document
     * @param requestObj contains request parameters
     */
    applyRevisions(requestObj: model.ApplyRevisionsRequest): Promise<model.Link>;
    /**
     * Get list of DOCX document revisions.
     * @param requestObj contains request parameters
     */
    getRevisions(requestObj: model.GetRevisionsRequest): Promise<Array<model.RevisionInfo>>;
}
/**
 * GroupDocs.Comparison Cloud API
 */
export declare class StorageApi {
    /**
     * Creates new instance of StorageApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): StorageApi;
    /**
     * Creates new instance of StorageApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): StorageApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Get disc usage
     * @param requestObj contains request parameters
     */
    getDiscUsage(requestObj: model.GetDiscUsageRequest): Promise<model.DiscUsage>;
    /**
     * Get file versions
     * @param requestObj contains request parameters
     */
    getFileVersions(requestObj: model.GetFileVersionsRequest): Promise<model.FileVersions>;
    /**
     * Check if file or folder exists
     * @param requestObj contains request parameters
     */
    objectExists(requestObj: model.ObjectExistsRequest): Promise<model.ObjectExist>;
    /**
     * Check if storage exists
     * @param requestObj contains request parameters
     */
    storageExists(requestObj: model.StorageExistsRequest): Promise<model.StorageExist>;
}
