import type { IUser } from '@api-client/core/models/store/User.js';
import { Service } from '../core/Service.js';
export default class UserCacheService extends Service {
    static key: string;
    private organizationId?;
    /**
     * Sets the organization ID for the user cache.
     * This must be called before fetching user data.
     * @param oid - The organization ID to set for the user cache.
     * This will clear the cache when the organization changes.
     */
    setOrganization(oid: string): void;
    /**
     * Fetches a user by their unique identifier (UID).
     * If the user is already cached, it returns the cached user.
     * Otherwise, it fetches the user from the API and caches it.
     * @param uid - The unique identifier of the user to fetch.
     * @returns A promise that resolves to the IUser object or null if not found.
     */
    getUser(uid: string): Promise<IUser | null>;
}
//# sourceMappingURL=UserCacheService.d.ts.map