import { OperationsBase } from "../../base/internal";
import { EntityListIterator, IModel, MinimalIModel } from "../../base/types";
import { OperationOptions } from "../OperationOptions";
import { AddIModelToFavoritesParams, GetFavoriteIModelListParams, RemoveIModelFromFavoritesParams } from "./FavoriteIModelOperationParams";
export declare class FavoriteIModelOperations<TOptions extends OperationOptions> extends OperationsBase<TOptions> {
    /**
     * Gets favorite iModels for a specific iTwin. This method returns iModels in their minimal representation. The returned iterator
     * internally queries entities in pages. Wraps the {@link https://developer.bentley.com/apis/imodels-v2/operations/get-my-favorite-imodels/ Get My Favorite iTwin iModels}
     * operation from iModels API.
     * @param {GetFavoriteIModelListParams} params parameters for this operation. See {@link GetFavoriteIModelListParams}.
     * @returns {EntityListIterator<MinimalIModel>} iterator for favorite iModel list. See {@link EntityListIterator}, {@link MinimalIModel}.
     */
    getMinimalList(params: GetFavoriteIModelListParams): EntityListIterator<MinimalIModel>;
    /**
     * Gets favorite iModels for a specific iTwin. This method returns iModels in their full representation. The returned iterator
     * internally queries entities in pages. Wraps the {@link https://developer.bentley.com/apis/imodels-v2/operations/get-my-favorite-imodels/ Get My Favorite iTwin iModels}
     * operation from iModels API.
     * @param {GetFavoriteIModelListParams} params parameters for this operation. See {@link GetFavoriteIModelListParams}.
     * @returns {EntityListIterator<IModel>} iterator for favorite iModel list. See {@link EntityListIterator}, {@link IModel}.
     */
    getRepresentationList(params: GetFavoriteIModelListParams): EntityListIterator<IModel>;
    /**
     * Adds an iModel to the calling user's favorites list. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/add-imodel-to-my-favorites/ Add iModel to My Favorites}
     * operation from iModels API.
     * @param {AddIModelToFavoritesParams} params parameters for this operation. See {@link AddIModelToFavoritesParams}.
     * @returns {Promise<void>}
     */
    add(params: AddIModelToFavoritesParams): Promise<void>;
    /**
     * Removes an iModel from the calling user's favorites list. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/remove-imodel-from-my-favorites/ Remove iModel from My Favorites}
     * operation from iModels API.
     * @param {RemoveIModelFromFavoritesParams} params parameters for this operation. See {@link RemoveIModelFromFavoritesParams}.
     * @returns {Promise<void>}
     */
    remove(params: RemoveIModelFromFavoritesParams): Promise<void>;
}
//# sourceMappingURL=FavoriteIModelOperations.d.ts.map