import { ReportStoreService } from '../../../../services/reportStoreService.js';
import { ReportDataStore } from '../../../../data/reportDataStore.js';
import { ReportType } from '../../../../types/UserReports.js';
import { ReportStoreConfig } from '../../../../types/ReportStore.js';
import { BookmarkStoreData } from '../../../../types/Bookmark.js';
import { ServiceFeatureConfig } from '../../../../types/DprConfig.js';

declare class BookmarkService extends ReportStoreService {
    enabled: boolean;
    constructor(reportDataStore: ReportDataStore, serviceFeatureConfig: ServiceFeatureConfig);
    getAllBookmarks(userId: string): Promise<BookmarkStoreData[]>;
    addBookmark(userId: string, reportId: string, id: string, type: ReportType, automatic?: boolean): Promise<void>;
    removeBookmark(userId: string, id: string, reportId: string): Promise<void>;
    isBookmarked: (id: string, reportId: string, userId: string) => Promise<boolean | undefined>;
    private isBookmarkedCheck;
    private getBookmark;
    createBookMarkButtonHtml({ userConfig, reportId, id, csrfToken, ctxId, reportType, isMissing, endpoint, }: {
        userConfig: ReportStoreConfig;
        reportId: string;
        id: string;
        csrfToken: string;
        ctxId: string;
        reportType: ReportType;
        isMissing: boolean;
        endpoint: string;
    }): Promise<string>;
}

export { BookmarkService, BookmarkService as default };
