import { OperationsBase } from "../../base/internal";
import { AuthorizationCallback, EntityListIterator, HeaderFactories, MinimalNamedVersion, NamedVersion } from "../../base/types";
import { IModelsClient } from "../../IModelsClient";
import { OperationOptions } from "../OperationOptions";
import { CreateNamedVersionParams, GetNamedVersionListParams, GetSingleNamedVersionParams, UpdateNamedVersionParams } from "./NamedVersionOperationParams";
export declare class NamedVersionOperations<TOptions extends OperationOptions> extends OperationsBase<TOptions> {
    private _iModelsClient;
    constructor(options: TOptions, _iModelsClient: IModelsClient);
    /**
     * Gets Named Versions of a specific iModel. This method returns Named Versions in their minimal representation. The
     * returned iterator internally queries entities in pages. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/get-imodel-named-versions/ Get iModel Named Versions}
     * operation from iModels API.
     * @param {GetNamedVersionListParams} params parameters for this operation. See {@link GetNamedVersionListParams}.
     * @returns {EntityListIterator<MinimalNamedVersion>} iterator for Named Version list. See {@link EntityListIterator},
     * {@link MinimalNamedVersion}.
     */
    getMinimalList(params: GetNamedVersionListParams): EntityListIterator<MinimalNamedVersion>;
    /**
     * Gets Named Versions of a specific iModel. This method returns Named Versions in their full representation. The
     * returned iterator internally queries entities in pages. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/get-imodel-named-versions/
     * Get iModel Named Versions} operation from iModels API.
     * @param {GetNamedVersionListParams} params parameters for this operation. See {@link GetNamedVersionListParams}.
     * @returns {EntityListIterator<NamedVersion>} iterator for Named Version list. See {@link EntityListIterator},
     * {@link NamedVersion}.
     */
    getRepresentationList(params: GetNamedVersionListParams): EntityListIterator<NamedVersion>;
    /**
     * Gets a single Named Version by its id. This method returns a Named Version in its full representation. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/get-imodel-named-version-details/
     * Get iModel Named Version} operation from iModels API.
     * @param {GetSingleNamedVersionParams} params parameters for this operation. See {@link GetSingleNamedVersionParams}.
     * @returns {Promise<NamedVersion>} a Named Version with specified id. See {@link NamedVersion}.
     */
    getSingle(params: GetSingleNamedVersionParams): Promise<NamedVersion>;
    /**
     * Creates a Named Version with specified properties. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/create-imodel-named-version/
     * Create iModel Named Version} operation from iModels API.
     * @param {CreateNamedVersionParams} params parameters for this operation. See {@link CreateNamedVersionParams}.
     * @returns {Promise<NamedVersion>} newly created Named Version. See {@link NamedVersion}.
     */
    create(params: CreateNamedVersionParams): Promise<NamedVersion>;
    /**
     * Updates Named Version with specified properties. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/update-imodel-named-version/
     * Update iModel Named Version} operation from iModels API.
     * @param {UpdateNamedVersionParams} params parameters for this operation. See {@link UpdateNamedVersionParams}.
     * @returns {Promise<NamedVersion>} updated Named Version. See {@link NamedVersion}.
     */
    update(params: UpdateNamedVersionParams): Promise<NamedVersion>;
    private getCreateNamedVersionRequestBody;
    private getUpdateNamedVersionRequestBody;
    protected appendRelatedEntityCallbacks(authorization: AuthorizationCallback, namedVersion: NamedVersion, headers?: HeaderFactories): NamedVersion;
    private getChangeset;
}
//# sourceMappingURL=NamedVersionOperations.d.ts.map