import { Maybe, ModelKeyTypeNamePair } from '@dereekb/util';
import { Observable } from 'rxjs';
import { DbxModelViewTrackerEvent, DbxModelViewTrackerEventSet, ModelViewContext } from './model.tracker';
import * as i0 from "@angular/core";
/**
 * Service used for tracking/logging different kinds of events on objects.
 */
export declare class DbxModelTrackerService {
    private readonly _viewTrackerStorage;
    private _defaultFolder;
    readonly newEvent$: Observable<DbxModelViewTrackerEvent>;
    get defaultFolder(): Maybe<string>;
    set defaultFolder(folder: Maybe<string>);
    trackViewedObject(modelKeyTypeNamePair: ModelKeyTypeNamePair, context?: Maybe<ModelViewContext>, folder?: Maybe<string>): void;
    getAllViewEvents(folder?: Maybe<string>): Observable<DbxModelViewTrackerEvent[]>;
    getViewEventSet(folder?: Maybe<string>): Observable<DbxModelViewTrackerEventSet>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxModelTrackerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DbxModelTrackerService>;
}
