import { ApiClient } from '../../client/index.js';
import { AddRemoveAssetsParams, CreateCollectionParams, ListCollectionsParams } from './requests.js';
import { CreateCollectionResult, ListCollectionsResult } from './responses.js';

declare class CollectionsApi {
    private _client;
    /**
     * Create an instance of the CollectionsApi class
     *
     * Provides information about global, shared, and private Collections
     *
     * @param client Provide an instance of ApiClient.
     * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Collections}
     * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Collections}
     */
    constructor(client: ApiClient);
    /**
     * Add or remove multiple assets from multiple collections
     * @param params Information about the request
     * @returns Promise containing no information
     * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Collections/operation/addOrRemoveAssetsFromCollections}
     */
    addOrRemoveAssets(params: AddRemoveAssetsParams): Promise<void>;
    /**
     * Create a local (private) collection
     * @param params Information about the request
     * @returns Promise containing information about the created collection
     * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Collections/operation/createCollection}
     */
    createCollection(params: CreateCollectionParams): Promise<CreateCollectionResult>;
    /**
     * Retrieve a list of collections.
     * @param params Information about the request
     * @returns Promise containing a list of collections
     * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Collections/operation/listCollections}
     */
    listCollections(params: ListCollectionsParams): Promise<ListCollectionsResult>;
}

export { CollectionsApi };
