import * as Utils from '@datocms/rest-client-utils';
import BaseResource from '../../BaseResource';
import type * as ApiTypes from '../ApiTypes';
import type * as RawApiTypes from '../RawApiTypes';
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 | ApiTypes.ItemVersionData): Promise<[ApiTypes.Item<import("../..").ItemTypeDefinition<{
        locales: string;
    }, string, {}>>, ApiTypes.ItemVersion]>;
    /**
     * 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<RawApiTypes.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 | ApiTypes.ItemData, queryParams?: ApiTypes.ItemVersionInstancesHrefSchema): Promise<ApiTypes.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?: RawApiTypes.ItemVersionInstancesHrefSchema): Promise<RawApiTypes.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 | ApiTypes.ItemData, queryParams?: Utils.OmitFromKnownKeys<ApiTypes.ItemVersionInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<ApiTypes.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<RawApiTypes.ItemVersionInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<RawApiTypes.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 | ApiTypes.ItemVersionData, queryParams?: ApiTypes.ItemVersionSelfHrefSchema): Promise<ApiTypes.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, queryParams?: RawApiTypes.ItemVersionSelfHrefSchema): Promise<RawApiTypes.ItemVersionSelfTargetSchema>;
}
