import * as Utils from '@datocms/rest-client-utils';
import BaseResource from '../../BaseResource';
import type * as SchemaTypes from '../SchemaTypes';
import type * as SimpleSchemaTypes from '../SimpleSchemaTypes';
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?: SimpleSchemaTypes.UploadTagInstancesHrefSchema): Promise<SimpleSchemaTypes.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?: SchemaTypes.UploadTagInstancesHrefSchema): Promise<SchemaTypes.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<SimpleSchemaTypes.UploadTagInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<SimpleSchemaTypes.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<SchemaTypes.UploadTagInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<SchemaTypes.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: SimpleSchemaTypes.UploadTagCreateSchema): Promise<SimpleSchemaTypes.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: SchemaTypes.UploadTagCreateSchema): Promise<SchemaTypes.UploadTagCreateTargetSchema>;
}
