/// <reference types="node" />
import axios = require("axios");
import { Configuration } from "./configuration";
import * as model from "./model";
export * from "./model";
export * from "./configuration";
/**
 * GroupDocs.Merger Cloud API
 */
export declare class DocumentApi {
    /**
     * Creates new instance of DocumentApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): DocumentApi;
    /**
     * Creates new instance of DocumentApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): DocumentApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Import attachments into pdf document
     * @param requestObj contains request parameters
     */
    _import(requestObj: model.ImportRequest): Promise<model.DocumentResult>;
    /**
     * Join multiple documents into one document
     * @param requestObj contains request parameters
     */
    join(requestObj: model.JoinRequest): Promise<model.DocumentResult>;
    /**
     * Join selected pages from multiple documents into one document
     * @param requestObj contains request parameters
     */
    mix(requestObj: model.MixRequest): Promise<model.DocumentResult>;
    /**
     * Generate document pages preview
     * @param requestObj contains request parameters
     */
    preview(requestObj: model.PreviewRequest): Promise<model.MultiDocumentResult>;
    /**
     * Split single document to multiple documents
     * @param requestObj contains request parameters
     */
    split(requestObj: model.SplitRequest): Promise<model.MultiDocumentResult>;
}
/**
 * GroupDocs.Merger 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.Merger 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.Merger 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();
    /**
     * Retrieve information about document pages: size, height, width etc.
     * @param requestObj contains request parameters
     */
    getInfo(requestObj: model.GetInfoRequest): Promise<model.InfoResult>;
    /**
     * List supported file formats
     * @param requestObj contains request parameters
     */
    getSupportedFileFormats(): Promise<model.FormatsResult>;
}
/**
 * GroupDocs.Merger 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.Merger Cloud API
 */
export declare class PagesApi {
    /**
     * Creates new instance of PagesApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): PagesApi;
    /**
     * Creates new instance of PagesApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): PagesApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Make new document with some pages from source document
     * @param requestObj contains request parameters
     */
    extract(requestObj: model.ExtractRequest): Promise<model.DocumentResult>;
    /**
     * Move page to a new position within document
     * @param requestObj contains request parameters
     */
    move(requestObj: model.MoveRequest): Promise<model.DocumentResult>;
    /**
     * Make new document and apply new orientation mode for specified pages
     * @param requestObj contains request parameters
     */
    orientation(requestObj: model.OrientationRequest): Promise<model.DocumentResult>;
    /**
     * Remove pages from document
     * @param requestObj contains request parameters
     */
    remove(requestObj: model.RemoveRequest): Promise<model.DocumentResult>;
    /**
     * Rotate pages in document
     * @param requestObj contains request parameters
     */
    rotate(requestObj: model.RotateRequest): Promise<model.DocumentResult>;
    /**
     * Swap two pages within document
     * @param requestObj contains request parameters
     */
    swap(requestObj: model.SwapRequest): Promise<model.DocumentResult>;
}
/**
 * GroupDocs.Merger Cloud API
 */
export declare class SecurityApi {
    /**
     * Creates new instance of SecurityApi
     * @param appSid Application identifier (App SID).
     * @param appKey Application private key (App Key).
     */
    static fromKeys(appSid: string, appKey: string): SecurityApi;
    /**
     * Creates new instance of SecurityApi
     * @param config API configuration.
     */
    static fromConfig(config: Configuration): SecurityApi;
    /**
     * Configuration
     */
    private configuration;
    /**
     * @param config Configuration.
     */
    private constructor();
    /**
     * Add document password protection
     * @param requestObj contains request parameters
     */
    addPassword(requestObj: model.AddPasswordRequest): Promise<model.DocumentResult>;
    /**
     * Checks whether document is password protected
     * @param requestObj contains request parameters
     */
    checkPassword(requestObj: model.CheckPasswordRequest): Promise<model.PasswordResult>;
    /**
     * Remove document password protection
     * @param requestObj contains request parameters
     */
    removePassword(requestObj: model.RemovePasswordRequest): Promise<model.DocumentResult>;
    /**
     * Update document password
     * @param requestObj contains request parameters
     */
    updatePassword(requestObj: model.UpdatePasswordRequest): Promise<model.DocumentResult>;
}
/**
 * GroupDocs.Merger 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>;
}
