import * as Utils from '@datocms/rest-client-utils';
import BaseResource from '../../BaseResource.js';
import type * as ApiTypes from '../ApiTypes.js';
import type * as RawApiTypes from '../RawApiTypes.js';
export default class UploadTag extends BaseResource {
    static readonly TYPE: "upload_tag";
    /**
     * List all manually created upload tags
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-tag/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(queryParams?: ApiTypes.UploadTagInstancesHrefSchema): Promise<ApiTypes.UploadTagInstancesTargetSchema>;
    /**
     * List all manually created upload tags
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-tag/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(queryParams?: RawApiTypes.UploadTagInstancesHrefSchema): Promise<RawApiTypes.UploadTagInstancesTargetSchema>;
    /**
     * Async iterator to auto-paginate over elements returned by list()
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-tag/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    listPagedIterator(queryParams?: Utils.OmitFromKnownKeys<ApiTypes.UploadTagInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<ApiTypes.UploadTag, void, unknown>;
    /**
     * Async iterator to auto-paginate over elements returned by rawList()
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-tag/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawListPagedIterator(queryParams?: Utils.OmitFromKnownKeys<RawApiTypes.UploadTagInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<RawApiTypes.UploadTag, void, unknown>;
    /**
     * Create a new upload tag
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-tag/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    create(body: ApiTypes.UploadTagCreateSchema): Promise<ApiTypes.UploadTag>;
    /**
     * Create a new upload tag
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-tag/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawCreate(body: RawApiTypes.UploadTagCreateSchema): Promise<RawApiTypes.UploadTagCreateTargetSchema>;
}
