import { GetAvailableManagedAttributeHTTPResponse } from '@bringg/common-utils';
import { DataOptions } from '../data-entity';
import Session from '../Services/Identity/Session';
import { TaskManagedAttributeUpdateRealTimeEvent } from './internal-types';
import { ManagedAttribute } from './types';
export declare const AVAILABLE_ATTRIBUTES_CACHE_TTL: number;
export default class TaskManagedAttributesApi {
    private readonly dataStore;
    private readonly service;
    private readonly storableDataService;
    private readonly realtimeSubscriptions;
    private readonly cachedAvailableAttributes;
    constructor(session: Session);
    get(id: number): ManagedAttribute;
    getByIds(ids: number[]): ManagedAttribute[];
    getAll(): GetAvailableManagedAttributeHTTPResponse;
    loadByIds(ids: number[], commonOptions?: DataOptions): Promise<ManagedAttribute[]>;
    getAvailableAttributes(): Promise<GetAvailableManagedAttributeHTTPResponse>;
    onUpdate(callback: (event: TaskManagedAttributeUpdateRealTimeEvent) => unknown | Promise<unknown>): () => void;
    fetchAvailableAttributes(ids: number[], commonOptions?: DataOptions): Promise<GetAvailableManagedAttributeHTTPResponse>;
    resetAllListeners(): void;
}
