import { HttpClient } from '@angular/common/http';
import { OnDestroy } from '@angular/core';
import { BaseApiService, ConfigService } from '@valtimo/shared';
import { Observable } from 'rxjs';
import { BlueprintContext, ValuePathItem, ValuePathSelectorPrefix, ValuePathType } from '../models';
import { CaseDefinition } from '@valtimo/document';
import * as i0 from "@angular/core";
export declare class ValuePathSelectorService extends BaseApiService implements OnDestroy {
    protected readonly httpClient: HttpClient;
    protected readonly configService: ConfigService;
    private _prefixes;
    private _currentCacheKey;
    private _cache;
    private _caseDefinitionCache$;
    private readonly _subscriptions;
    constructor(httpClient: HttpClient, configService: ConfigService);
    ngOnDestroy(): void;
    setCaseDefinitionCache(cache: CaseDefinition[]): void;
    getCaseDefinitionCache(): Observable<CaseDefinition[] | null>;
    /**
     * Get resolvable keys for a given blueprint context (case definition or building block).
     */
    getResolvableKeysForContext(prefixes: ValuePathSelectorPrefix[], context: BlueprintContext, type?: ValuePathType): Observable<ValuePathItem[]>;
    private buildCacheKey;
    private buildUrl;
    private openClearCacheSubscription;
    private getCacheResult;
    private mapCollectionItem;
    private cacheMapping;
    private getPrefixesFromResults;
    static ɵfac: i0.ɵɵFactoryDeclaration<ValuePathSelectorService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ValuePathSelectorService>;
}
//# sourceMappingURL=value-path-selector.service.d.ts.map