/** * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, Renderer2 } from '@angular/core'; import { Observable, Subject } from 'rxjs'; import { NbStatusService } from '../../services/status.service'; import { NbBooleanInput } from '../helpers'; import { NbButton, NbButtonAppearance } from '../button/base-button'; export declare type NbButtonToggleAppearance = Exclude; export interface NbButtonToggleChange { source: NbButtonToggleDirective; pressed: boolean; } /** * `[nbButtonToggle]` is a directive to add a `pressed` state to a button. */ export declare class NbButtonToggleDirective extends NbButton { protected renderer: Renderer2; protected hostElement: ElementRef; protected cd: ChangeDetectorRef; protected zone: NgZone; protected statusService: NbStatusService; protected readonly _pressedChange$: Subject; get pressedChange$(): Observable; appearance: NbButtonToggleAppearance; /** * Controls button pressed state **/ get pressed(): boolean; set pressed(value: boolean); protected _pressed: boolean; static ngAcceptInputType_pressed: NbBooleanInput; /** * Emits whenever button pressed state change **/ readonly pressedChange: EventEmitter; get basic(): boolean; get primary(): boolean; get success(): boolean; get info(): boolean; get warning(): boolean; get danger(): boolean; get control(): boolean; get additionalClasses(): string[]; onClick(): void; constructor(renderer: Renderer2, hostElement: ElementRef, cd: ChangeDetectorRef, zone: NgZone, statusService: NbStatusService); /** * @docs-private */ _updatePressed(value: boolean): void; }