import { OperationsBase } from "../../base/internal";
import { EntityListIterator, IModel, MinimalIModel } from "../../base/types";
import { OperationOptions } from "../OperationOptions";
import { AddIModelToRecentsParams, GetRecentIModelListParams, RemoveIModelFromRecentsParams } from "./RecentIModelOperationParams";
export declare class RecentIModelOperations<TOptions extends OperationOptions> extends OperationsBase<TOptions> {
    /**
     * Gets recently used iModels for a specific iTwin. A user can only have 25 recently used iModels.
     * They are returned in order with the most recently used iModel first in the list. 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-recently-used-imodels/ Get My Recently Used iTwin iModels}
     * operation from iModels API.
     * @param {GetRecentIModelListParams} params parameters for this operation. See {@link GetRecentIModelListParams}.
     * @returns {EntityListIterator<MinimalIModel>} iterator for recent iModel list. See {@link EntityListIterator}, {@link MinimalIModel}.
     */
    getMinimalList(params: GetRecentIModelListParams): EntityListIterator<MinimalIModel>;
    /**
     * Gets recently used iModels for a specific iTwin. A user can only have 25 recently used iModels.
     * They are returned in order with the most recently used iModel first in the list. 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-recently-used-imodels/ Get My Recently Used iTwin iModels}
     * operation from iModels API.
     * @param {GetRecentIModelListParams} params parameters for this operation. See {@link GetRecentIModelListParams}.
     * @returns {EntityListIterator<IModel>} iterator for recent iModel list. See {@link EntityListIterator}, {@link IModel}.
     */
    getRepresentationList(params: GetRecentIModelListParams): EntityListIterator<IModel>;
    /**
     * Adds an iModel to the calling user's recently used iModels list. No more than 25 iModels are
     * stored in the recently used list. Older ones are removed to make room for new ones. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/add-imodel-to-my-recents/ Add iModel to My Recents}
     * operation from iModels API.
     * @param {AddIModelToRecentsParams} params parameters for this operation. See {@link AddIModelToRecentsParams}.
     * @returns {Promise<void>}
     */
    add(params: AddIModelToRecentsParams): Promise<void>;
    /**
     * Removes an iModel from the calling user's recents list. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/remove-imodel-from-my-recents/ Remove iModel from My Recents}
     * operation from iModels API.
     * @param {RemoveIModelFromRecentsParams} params parameters for this operation. See {@link RemoveIModelFromRecentsParams}.
     * @returns {Promise<void>}
     */
    remove(params: RemoveIModelFromRecentsParams): Promise<void>;
}
//# sourceMappingURL=RecentIModelOperations.d.ts.map