import { OperationsBase } from "../../base/internal";
import { AuthorizationCallback, Briefcase, EntityListIterator, HeaderFactories, MinimalBriefcase } from "../../base/types";
import { IModelsClient } from "../../IModelsClient";
import { OperationOptions } from "../OperationOptions";
import { GetBriefcaseListParams, GetSingleBriefcaseParams, ReleaseBriefcaseParams } from "./BriefcaseOperationParams";
export declare class BriefcaseOperations<TOptions extends OperationOptions> extends OperationsBase<TOptions> {
    private _iModelsClient;
    constructor(options: TOptions, _iModelsClient: IModelsClient);
    /**
     * Gets Briefcases of a specific iModel. This method returns Briefcases 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-briefcases/ Get iModel Briefcases}
     * operation from iModels API.
     * @param {GetBriefcaseListParams} params parameters for this operation. See {@link GetBriefcaseListParams}.
     * @returns {EntityListIterator<MinimalBriefcase>} iterator for Briefcase list. See {@link EntityListIterator},
     * {@link MinimalBriefcase}.
     */
    getMinimalList(params: GetBriefcaseListParams): EntityListIterator<MinimalBriefcase>;
    /**
     * Gets Briefcases of a specific iModel. This method returns Briefcases 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-briefcases/ Get iModel Briefcases}
     * operation from iModels API.
     * @param {GetBriefcaseListParams} params parameters for this operation. See {@link GetBriefcaseListParams}.
     * @returns {EntityListIterator<Briefcase>} iterator for Briefcase list. See {@link EntityListIterator}, {@link Briefcase}.
     */
    getRepresentationList(params: GetBriefcaseListParams): EntityListIterator<Briefcase>;
    /**
     * Gets a single Briefcase by its id. This method returns a Briefcase in its full representation. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/get-imodel-briefcase-details/ Get iModel Briefcase}
     * operation from iModels API.
     * @param {GetSingleBriefcaseParams} params parameters for this operation. See {@link GetSingleBriefcaseParams}.
     * @returns {Promise<Briefcase>} an Briefcase with specified id. See {@link iModel}.
     */
    getSingle(params: GetSingleBriefcaseParams): Promise<Briefcase>;
    /**
     * Releases the specified Briefcase. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/release-imodel-briefcase/ Release iModel Briefcase}
     * operation from iModels API.
     * @param {ReleaseBriefcaseParams} params parameters for this operation. See {@link ReleaseBriefcaseParams}.
     * @returns {Promise<void>} a promise that resolves after operation completes.
     */
    release(params: ReleaseBriefcaseParams): Promise<void>;
    protected appendRelatedEntityCallbacks(authorization: AuthorizationCallback, briefcase: Briefcase, headers?: HeaderFactories): Briefcase;
}
//# sourceMappingURL=BriefcaseOperations.d.ts.map