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 ItemVersion extends BaseResource {
    static readonly TYPE: "item_version";
    /**
     * Restore an old record version
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/restore
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    restore(itemVersionId: string | SimpleSchemaTypes.ItemVersionData): Promise<SimpleSchemaTypes.ItemVersionRestoreJobSchema>;
    /**
     * Restore an old record version
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/restore
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawRestore(itemVersionId: string): Promise<SchemaTypes.ItemVersionRestoreJobSchema>;
    /**
     * List all record versions
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(itemId: string | SimpleSchemaTypes.ItemData, queryParams?: SimpleSchemaTypes.ItemVersionInstancesHrefSchema): Promise<SimpleSchemaTypes.ItemVersionInstancesTargetSchema>;
    /**
     * List all record versions
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(itemId: string, queryParams?: SchemaTypes.ItemVersionInstancesHrefSchema): Promise<SchemaTypes.ItemVersionInstancesTargetSchema>;
    /**
     * Async iterator to auto-paginate over elements returned by list()
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    listPagedIterator(itemId: string | SimpleSchemaTypes.ItemData, queryParams?: Utils.OmitFromKnownKeys<SimpleSchemaTypes.ItemVersionInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<SimpleSchemaTypes.ItemVersion, void, unknown>;
    /**
     * Async iterator to auto-paginate over elements returned by rawList()
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawListPagedIterator(itemId: string, queryParams?: Utils.OmitFromKnownKeys<SchemaTypes.ItemVersionInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<SchemaTypes.ItemVersion, void, unknown>;
    /**
     * Retrieve a record version
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    find(itemVersionId: string | SimpleSchemaTypes.ItemVersionData): Promise<SimpleSchemaTypes.ItemVersion>;
    /**
     * Retrieve a record version
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/item-version/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawFind(itemVersionId: string): Promise<SchemaTypes.ItemVersionSelfTargetSchema>;
}
