import { BookmarkDo, BookmarkFormModel, BookmarkFormWidgetMap, Form, FormModel } from '../index';
/**
 * Form to create or edit a {@link BookmarkDo}.
 *
 * The following modes are supported:
 *
 * 1. Edit in-memory bookmark
 *
 *    When the form is started, the given bookmark is loaded without calling the bookmark store. When the form is
 *    saved, the bookmark is updated in-place without calling the bookmark store.
 *
 *    This mode is active when {@link bookmark} is set.
 *
 * 2. Edit bookmark from store:
 *
 *    When starting the form, the bookmark is loaded from the {@link BookmarkStore bookmark store} by its ID. When
 *    the form is saved, the bookmark is updated in the store.
 *
 *    This mode is active when {@link bookmarkId} is set.
 *
 * 3. Create new bookmark:
 *
 *    When the form is loaded, a new bookmark is created from the current state of the desktop. When the form is
 *    saved, the new bookmark is stored to the {@link BookmarkStore bookmark store}. Afterward, the stored bookmark
 *    is available in the {@link data} property.
 *
 *    This mode is active when neither {@link bookmarkId} nor {@link bookmark} are set.
 */
export declare class BookmarkForm extends Form implements BookmarkFormModel {
    model: BookmarkFormModel;
    widgetMap: BookmarkFormWidgetMap;
    data: BookmarkDo;
    bookmark: BookmarkDo;
    bookmarkId: string;
    protected _jsonModel(): FormModel;
    protected _load(): JQuery.Promise<any>;
    importData(): void;
    exportData(): any;
    protected _save(data: any): JQuery.Promise<void>;
    ok(): JQuery.Promise<void>;
}
//# sourceMappingURL=BookmarkForm.d.ts.map