import { KnoraApiConnection } from '../knora-api-connection';
import { UserResponse } from '../models/admin/user-response';
import { GenericCache } from './GenericCache';
/**
 * Caches user information obtained from Knora.
 */
export declare class UserCache extends GenericCache<UserResponse> {
    private knoraApiConnection;
    constructor(knoraApiConnection: KnoraApiConnection);
    /**
     * Gets a user identified by its Iri.
     *
     * @param iri the Iri identifying the user.
     */
    getUser(iri: string): import("rxjs").Observable<UserResponse>;
    /**
     * Public method to access the reloadItem method
     *
     * @param key the id of the information to be returned.
     * @return the item
     */
    reloadCachedItem(key: string): import("rxjs").Observable<UserResponse>;
    protected requestItemFromKnora(key: string, isDependency: boolean): import("rxjs").Observable<UserResponse[]>;
    protected getKeyOfItem(item: UserResponse): string;
    protected getDependenciesOfItem(item: UserResponse): string[];
}
//# sourceMappingURL=UserCache.d.ts.map