import { Options } from "../models/options";
import { ClientInstance } from "./clientInstance";
import { AssetMediaList, Media } from "../models/media";
import { assetGalleries } from "../models/assetGalleries";
import { assetMediaGrouping } from "../models/assetMediaGrouping";
import { assetContainer } from "../models/assetContainer";
export declare class AssetMethods {
    _options: Options;
    _clientInstance: ClientInstance;
    constructor(options: Options);
    deleteFile(mediaID: number, guid: string): Promise<string>;
    moveFile(mediaID: number, newFolder: string, guid: string): Promise<Media>;
    getMediaList(pageSize: number, recordOffset: number, guid: string): Promise<AssetMediaList>;
    getGalleries(guid: string, search?: string, pageSize?: number, rowIndex?: number): Promise<assetGalleries>;
    getGalleryById(guid: string, id: number): Promise<assetMediaGrouping>;
    getGalleryByName(guid: string, galleryName: string): Promise<assetMediaGrouping>;
    getDefaultContainer(guid: string): Promise<assetContainer>;
    saveGallery(guid: string, gallery: assetMediaGrouping): Promise<assetMediaGrouping>;
    deleteGallery(guid: string, id: number): Promise<string>;
    getAssetByID(mediaID: number, guid: string): Promise<Media>;
    getAssetByUrl(url: string, guid: string): Promise<Media>;
    /**
 * Uploads a file to the specified folder path.
 *
 * @param {*} formData - FormData object that axios is expecting for the Upload.
 * @param {string} agilityFolderPath
 * @param {string} guid
 * @param {number} [groupingID=-1]
 * @returns
 * @memberof AssetMethods
 */
    upload(formData: any, agilityFolderPath: string, guid: string, groupingID?: number): Promise<Media[]>;
    createFolder(originKey: string, guid: string): Promise<Media>;
    deleteFolder(originKey: string, guid: string, mediaID?: number): Promise<void>;
    renameFolder(folderName: string, newFolderName: string, guid: string, mediaID?: number): Promise<void>;
}
