"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Toolbar = void 0;
/**
 * A toolbar item used to display a custom button on the toolbar.
 * @typedef ToolbarItem
 * @memberof Toolbar
 * @property {string} id - The unique identifier for the custom toolbar button. This will be used to identify the button in the onCustomToolbarButtonTapped callback. On Android the ID needs to be specified as a resource item inside your application's ids.xml file.
 * @property {string} image - The image name (iOS) or resource ID (Android) for the toolbar button. Images must be included in the application bundle on iOS and specified as a drawable resource on Android.
 * @property {string} [title] - The title of the toolbar button (Android only).
 * @property {boolean} [showAsAction] - Whether the toolbar button should be displayed on the main toolbar (not in the drop down menu) (Android only).
 */
/**
 * The toolbar buttons that should be displayed on the toolbar.
 * @typedef ToolbarItems
 * @memberof Toolbar
 * @property {Array<string | Toolbar.ToolbarItem>} buttons - An array of buttons that should be displayed on the toolbar. The buttons can be either stock toolbar buttons, custom toolbar buttons, or a combination of both.
 * @property {string} [viewMode] - The viewMode for which the toolbar buttons should be set (iOS only).
 * @property {string} [animated] - Whether the toolbar button change should be animated when they are set (iOS only).
 */
/**
 * @namespace Toolbar
 * @property { Toolbar.ToolbarItems } [leftBarButtonItems] The bar buttons to display on the left side of the navigation bar (iOS only).
 * @property { Toolbar.ToolbarItems } [rightBarButtonItems] The bar buttons to display on the right side of the navigation bar (iOS only).
 * @property { Toolbar.ToolbarItems } [toolbarMenuItems] The toolbar buttons to display on the toolbar (Android only).
 */
var Toolbar = /** @class */ (function () {
    function Toolbar() {
    }
    return Toolbar;
}());
exports.Toolbar = Toolbar;
(function (Toolbar) {
    /**
     * The stock toolbar buttons available to display on the PSPDFKit toolbar.
     * @readonly
     * @enum {string} DefaultToolbarButton
     */
    Toolbar.DefaultToolbarButton = {
        CLOSE_BUTTON_ITEM: 'closeButtonItem',
        OUTLINE_BUTTON_ITEM: 'outlineButtonItem',
        SEARCH_BUTTON_ITEM: 'searchButtonItem',
        THUMBNAILS_BUTTON_ITEM: 'thumbnailsButtonItem',
        DOCUMENT_EDITOR_BUTTON_ITEM: 'documentEditorButtonItem',
        PRINT_BUTTON_ITEM: 'printButtonItem',
        OPEN_IN_BUTTON_ITEM: 'openInButtonItem',
        EMAIL_BUTTON_ITEM: 'emailButtonItem',
        MESSAGE_BUTTON_ITEM: 'messageButtonItem',
        ANNOTATION_BUTTON_ITEM: 'annotationButtonItem',
        BOOKMARK_BUTTON_ITEM: 'bookmarkButtonItem',
        BRIGHTNESS_BUTTON_ITEM: 'brightnessButtonItem',
        ACTIVITY_BUTTON_ITEM: 'activityButtonItem',
        SETTINGS_BUTTON_ITEM: 'settingsButtonItem',
        READER_VIEW_BUTTON_ITEM: 'readerViewButtonItem',
        ANNOTATION_LIST_BUTTON_ITEM: 'annotationListButtonItem',
        SHARE_BUTTON_ITEM: 'shareButtonItem',
    };
    /**
     * The available view modes when setting the bar buttons on iOS.
     * @readonly
     * @enum {string} PDFViewMode
     */
    Toolbar.PDFViewMode = {
        /**
         * Set the toolbar buttons when the Document is visible.
         */
        VIEW_MODE_DOCUMENT: 'document',
        /**
         * Set the toolbar buttons when thumbnails are visible.
         */
        VIEW_MODE_THUMBNAILS: 'thumbnails',
        /**
         * Set the toolbar buttons when thumbnails and page editing options are visible.
         */
        VIEW_MODE_DOCUMENT_EDITOR: 'documentEditor',
    };
})(Toolbar || (exports.Toolbar = Toolbar = {}));