import { Model } from '../core/Model.js';
import type { DomainBrowseRecentItem, DomainBrowseRecentItems, DomainBrowserPickItem } from '../modeling/types.js';
import type ConfigurationService from '../services/ConfigurationService.js';
export declare const RECENT_ITEMS_KEY = "com.api-client.schema.recent.items";
export declare const RECENT_ITEMS_MAX = 10;
/**
 * Model for browsing domain entities, models, and namespaces.
 * Has the logic related to storing "recently browsed items" in the local storage.
 */
export declare class DomainBrowserModel extends Model<string[]> {
    /**
     * The key of the domain that is currently being browsed.
     * This is used to filter the recent items to only those that belong to the current domain.
     * If the domain is not set, it means that the recent items are not filtered by the domain.
     */
    domainKey?: string;
    /**
     * The key of the recent items list that is used to store the recent items in the local storage.
     */
    get key(): string;
    config: ConfigurationService;
    constructor(config: ConfigurationService);
    handleEntityRename(e: Event): void;
    read(): Promise<DomainBrowseRecentItems>;
    filterRecentItems(items: DomainBrowseRecentItem[], allowed: DomainBrowserPickItem[]): DomainBrowseRecentItem[];
    sort(a: DomainBrowseRecentItem, b: DomainBrowseRecentItem): number;
    addRecentItem(item: DomainBrowseRecentItem): Promise<DomainBrowseRecentItems>;
    updateRecentItem(key: string, label: string, domain: string, kind: string): Promise<void>;
}
//# sourceMappingURL=DomainBrowserModel.d.ts.map