var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Injectable } from '@angular/core';
import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
 * @name Status Bar
 * @description
 * Manage the appearance of the native status bar.
 *
 * Requires Cordova plugin: `cordova-plugin-statusbar`. For more info, please see the [StatusBar plugin docs](https://github.com/apache/cordova-plugin-statusbar).
 *
 * @usage
 * ```typescript
 * import { StatusBar } from '@ionic-native/status-bar';
 *
 * constructor(private statusBar: StatusBar) { }
 *
 * ...
 *
 * // let status bar overlay webview
 * this.statusBar.overlaysWebView(true);
 *
 * // set status bar to white
 * this.statusBar.backgroundColorByHexString('#ffffff');
 * ```
 *
 */
var StatusBar = (function (_super) {
    __extends(StatusBar, _super);
    function StatusBar() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    /**
     * Set whether the status bar overlays the main app view. The default
     * is true.
     *
     * @param {boolean} doesOverlay  Whether the status bar overlays the main app view.
     */
    /**
       * Set whether the status bar overlays the main app view. The default
       * is true.
       *
       * @param {boolean} doesOverlay  Whether the status bar overlays the main app view.
       */
    StatusBar.prototype.overlaysWebView = /**
       * Set whether the status bar overlays the main app view. The default
       * is true.
       *
       * @param {boolean} doesOverlay  Whether the status bar overlays the main app view.
       */
    function (doesOverlay) { };
    /**
     * Use the default statusbar (dark text, for light backgrounds).
     */
    /**
       * Use the default statusbar (dark text, for light backgrounds).
       */
    StatusBar.prototype.styleDefault = /**
       * Use the default statusbar (dark text, for light backgrounds).
       */
    function () { };
    /**
     * Use the lightContent statusbar (light text, for dark backgrounds).
     */
    /**
       * Use the lightContent statusbar (light text, for dark backgrounds).
       */
    StatusBar.prototype.styleLightContent = /**
       * Use the lightContent statusbar (light text, for dark backgrounds).
       */
    function () { };
    /**
     * Use the blackTranslucent statusbar (light text, for dark backgrounds).
     */
    /**
       * Use the blackTranslucent statusbar (light text, for dark backgrounds).
       */
    StatusBar.prototype.styleBlackTranslucent = /**
       * Use the blackTranslucent statusbar (light text, for dark backgrounds).
       */
    function () { };
    /**
     * Use the blackOpaque statusbar (light text, for dark backgrounds).
     */
    /**
       * Use the blackOpaque statusbar (light text, for dark backgrounds).
       */
    StatusBar.prototype.styleBlackOpaque = /**
       * Use the blackOpaque statusbar (light text, for dark backgrounds).
       */
    function () { };
    /**
     * Set the status bar to a specific named color. Valid options:
     * black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown.
     *
     * iOS note: you must call StatusBar.overlaysWebView(false) to enable color changing.
     *
     * @param {string} colorName  The name of the color (from above)
     */
    /**
       * Set the status bar to a specific named color. Valid options:
       * black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown.
       *
       * iOS note: you must call StatusBar.overlaysWebView(false) to enable color changing.
       *
       * @param {string} colorName  The name of the color (from above)
       */
    StatusBar.prototype.backgroundColorByName = /**
       * Set the status bar to a specific named color. Valid options:
       * black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown.
       *
       * iOS note: you must call StatusBar.overlaysWebView(false) to enable color changing.
       *
       * @param {string} colorName  The name of the color (from above)
       */
    function (colorName) { };
    /**
     * Set the status bar to a specific hex color (CSS shorthand supported!).
     *
     * iOS note: you must call StatusBar.overlaysWebView(false) to enable color changing.
     *
     * @param {string} hexString  The hex value of the color.
     */
    /**
       * Set the status bar to a specific hex color (CSS shorthand supported!).
       *
       * iOS note: you must call StatusBar.overlaysWebView(false) to enable color changing.
       *
       * @param {string} hexString  The hex value of the color.
       */
    StatusBar.prototype.backgroundColorByHexString = /**
       * Set the status bar to a specific hex color (CSS shorthand supported!).
       *
       * iOS note: you must call StatusBar.overlaysWebView(false) to enable color changing.
       *
       * @param {string} hexString  The hex value of the color.
       */
    function (hexString) { };
    /**
     * Hide the StatusBar
     */
    /**
       * Hide the StatusBar
       */
    StatusBar.prototype.hide = /**
       * Hide the StatusBar
       */
    function () { };
    /**
     * Show the StatusBar
     */
    /**
       * Show the StatusBar
       */
    StatusBar.prototype.show = /**
       * Show the StatusBar
       */
    function () { };
    StatusBar.decorators = [
        { type: Injectable },
    ];
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", [Boolean]),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "overlaysWebView", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", []),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "styleDefault", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", []),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "styleLightContent", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", []),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "styleBlackTranslucent", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", []),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "styleBlackOpaque", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", [String]),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "backgroundColorByName", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", [String]),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "backgroundColorByHexString", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", []),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "hide", null);
    __decorate([
        Cordova({
            sync: true
        }),
        __metadata("design:type", Function),
        __metadata("design:paramtypes", []),
        __metadata("design:returntype", void 0)
    ], StatusBar.prototype, "show", null);
    __decorate([
        CordovaProperty,
        __metadata("design:type", Boolean)
    ], StatusBar.prototype, "isVisible", void 0);
    /**
     * @name Status Bar
     * @description
     * Manage the appearance of the native status bar.
     *
     * Requires Cordova plugin: `cordova-plugin-statusbar`. For more info, please see the [StatusBar plugin docs](https://github.com/apache/cordova-plugin-statusbar).
     *
     * @usage
     * ```typescript
     * import { StatusBar } from '@ionic-native/status-bar';
     *
     * constructor(private statusBar: StatusBar) { }
     *
     * ...
     *
     * // let status bar overlay webview
     * this.statusBar.overlaysWebView(true);
     *
     * // set status bar to white
     * this.statusBar.backgroundColorByHexString('#ffffff');
     * ```
     *
     */
    StatusBar = __decorate([
        Plugin({
            pluginName: 'StatusBar',
            plugin: 'cordova-plugin-statusbar',
            pluginRef: 'StatusBar',
            repo: 'https://github.com/apache/cordova-plugin-statusbar',
            platforms: ['Android', 'iOS', 'Windows']
        })
    ], StatusBar);
    return StatusBar;
}(IonicNativePlugin));
export { StatusBar };
//# sourceMappingURL=index.js.map