/**
* Copyright (c) 2019 Florian Klampfer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* @license
* @nocompile
*/
import { LitElement } from 'lit-element';
import { Observable, Subject } from "rxjs";
import { ObservablesMixin, Coord } from './observables';
import { CalcMixin } from './calc';
import { UpdateMixin, Updater } from './update';
declare class RxLitElement extends LitElement {
$connected: Subject;
connectedCallback(): void;
disconnectedCallback(): void;
private firstUpdate;
$: {};
firstUpdated(): void;
updated(changedProperties: Map): void;
}
declare const HyDrawer_base: Constructor;
export declare class HyDrawer extends HyDrawer_base implements ObservablesMixin, UpdateMixin, CalcMixin {
static styles: import("lit-element").CSSResult;
el: HTMLElement;
scrimEl: HTMLElement;
contentEl: HTMLElement;
peekEl: HTMLElement;
opened: boolean;
side: "left" | "right";
persistent: boolean;
threshold: number;
noScroll: boolean;
mouseEvents: boolean;
hashChange: boolean;
range: [number, number];
scrimClickable: boolean;
grabbing: boolean;
willChange: boolean;
get histId(): string;
get hashId(): string;
translateX: number;
opacity: number;
isSliding: boolean;
$: {
opened?: Subject;
side?: Subject<"left" | "right">;
persistent?: Subject;
preventDefault?: Subject;
mouseEvents?: Subject;
hashChange?: Subject;
};
animateTo$: Subject;
getStartObservable: () => Observable;
getMoveObservable: (start$: Observable, end$: Observable) => Observable;
getEndObservable: () => Observable;
getIsSlidingObservable: (move$: Observable, start$: Observable, end$: Observable) => Observable;
getIsSlidingObservableInner: (move$: Observable, start$: Observable) => Observable;
calcIsInRange: (start: Coord, opened: boolean) => boolean;
calcIsSwipe: (start: Coord, end: Coord, translateX: number, drawerWidth: number, _: number) => boolean;
calcWillOpen: (start: {}, end: {}, translateX: number, drawerWidth: number, velocity: number) => boolean;
calcTranslateX: (move: Coord, start: Coord, startTranslateX: number, drawerWidth: number) => number;
updateDOM: (translateX: number, drawerWidth: number) => void;
updater: Updater;
getDrawerWidth(): Observable;
consolidateState(): void;
connectedCallback(): void;
upgrade: () => void;
private transitioned;
private transitionedHash;
render(): import("lit-element").TemplateResult;
fireEvent(name: string, eventInitDict?: CustomEventInit): void;
open(): void;
close(): void;
toggle(): void;
}
export {};