import BaseResource from '../../BaseResource';
import type * as SchemaTypes from '../SchemaTypes';
import type * as SimpleSchemaTypes from '../SimpleSchemaTypes';
export default class UploadFilter extends BaseResource {
    static readonly TYPE: "upload_filter";
    /**
     * Create a new filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    create(body: SimpleSchemaTypes.UploadFilterCreateSchema): Promise<SimpleSchemaTypes.UploadFilter>;
    /**
     * Create a new filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawCreate(body: SchemaTypes.UploadFilterCreateSchema): Promise<SchemaTypes.UploadFilterCreateTargetSchema>;
    /**
     * Update a filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    update(uploadFilterId: string | SimpleSchemaTypes.UploadFilterData, body: SimpleSchemaTypes.UploadFilterUpdateSchema): Promise<SimpleSchemaTypes.UploadFilter>;
    /**
     * Update a filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawUpdate(uploadFilterId: string, body: SchemaTypes.UploadFilterUpdateSchema): Promise<SchemaTypes.UploadFilterUpdateTargetSchema>;
    /**
     * List all filters
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(): Promise<SimpleSchemaTypes.UploadFilterInstancesTargetSchema>;
    /**
     * List all filters
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(): Promise<SchemaTypes.UploadFilterInstancesTargetSchema>;
    /**
     * Retrieve a filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    find(uploadFilterId: string | SimpleSchemaTypes.UploadFilterData): Promise<SimpleSchemaTypes.UploadFilter>;
    /**
     * Retrieve a filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawFind(uploadFilterId: string): Promise<SchemaTypes.UploadFilterSelfTargetSchema>;
    /**
     * Delete a filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    destroy(uploadFilterId: string | SimpleSchemaTypes.UploadFilterData): Promise<SimpleSchemaTypes.UploadFilter>;
    /**
     * Delete a filter
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-filter/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawDestroy(uploadFilterId: string): Promise<SchemaTypes.UploadFilterDestroyTargetSchema>;
}
