import { BookmarkDoBuilderModel, BookmarkTableRowIdentifierDo, Desktop, Form, IBookmarkDefinitionDo, IBookmarkDo, IBookmarkPageDo, IChartTableControlConfigDo, InitModelOf, NodeBookmarkPageDo, ObjectWithType, Page, PageWithTable, Session, TableBookmarkPageDo, TableClientUiPreferencesDo } from '../index';
export declare class BookmarkDoBuilder implements ObjectWithType, BookmarkDoBuilderModel {
    model: BookmarkDoBuilderModel;
    static ERROR_MISSING_OUTLINE: string;
    static ERROR_MISSING_PAGE_PARAM: string;
    static ERROR_UNSUPPORTED_NODE_TYPE: string;
    static ERROR_PAGE_NOT_BOOKMARKABLE: string;
    static ERROR_PAGE_PATH_NOT_BOOKMARKABLE: string;
    static ERROR_MISSING_ROW_BOOKMARK_IDENTIFIER: string;
    objectType: string;
    desktop: Desktop;
    page: Page;
    createOutline: boolean;
    persistableRequired: boolean;
    fallbackAllowed: boolean;
    createTitle: boolean;
    createDescription: boolean;
    createTablePreferences: boolean;
    createTableRowSelections: boolean;
    protected _searchFilterTexts: Map<TableBookmarkPageDo, string>;
    constructor();
    init(model: InitModelOf<this>): void;
    get session(): Session;
    build(): JQuery.Promise<IBookmarkDo>;
    protected _build(): Promise<IBookmarkDo>;
    protected _createBookmarkDefinition(): Promise<IBookmarkDefinitionDo>;
    protected _pageToBookmarkPage(page: Page, childPage: Page): Promise<IBookmarkPageDo>;
    protected _isPageBookmarkable(page: Page): boolean;
    protected _pageToNodeBookmarkPage(page: Page, childPage?: Page): Promise<NodeBookmarkPageDo>;
    protected _pageToTableBookmarkPage(page: Page, childPage?: Page): Promise<TableBookmarkPageDo>;
    protected _tablePageToTableBookmarkPage(page: PageWithTable, childPage?: Page): Promise<TableBookmarkPageDo>;
    protected _createExpandedTableRowIdentifier(page: PageWithTable, childPage: Page): BookmarkTableRowIdentifierDo;
    protected _createSelectedTableRowIdentifiers(page: PageWithTable): BookmarkTableRowIdentifierDo[];
    protected _createSearchFilterForBookmark(page: PageWithTable): Promise<any>;
    protected _exportSearchFormData(searchForm: Form): Promise<any>;
    protected _createTablePreferencesForBookmark(page: PageWithTable): Promise<TableClientUiPreferencesDo>;
    protected _createChartTableControlConfigForBookmark(page: PageWithTable): Promise<IChartTableControlConfigDo>;
    protected _createBookmark(bookmarkDefinition: IBookmarkDefinitionDo): Promise<IBookmarkDo>;
    protected _createBookmarkTitle(bookmarkDefinition: IBookmarkDefinitionDo): Promise<string>;
    protected _createBookmarkDescription(bookmarkDefinition: IBookmarkDefinitionDo): Promise<string>;
}
//# sourceMappingURL=BookmarkDoBuilder.d.ts.map