import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
import { TccSliderRightService } from '../../services/tcc-slider-right/tcc-slider-right.service';
import { Observable, Subject } from 'rxjs';
export declare enum sliderRightOpenCloseState {
    Open = 0,
    Opened = 1,
    Close = 2,
    Closed = 3,
    closeStopped = 4
}
export declare class TccSliderRightComponent implements OnInit, OnDestroy, AfterContentInit {
    private sliderRightService;
    canClose: boolean;
    minWidth: number;
    isGlobal: boolean;
    onClose: EventEmitter<any>;
    canCloseFunc: () => boolean;
    get _canClose(): boolean;
    sliderWidth: string;
    sliderTop: string;
    openCloseSubject: Subject<sliderRightOpenCloseState>;
    lockWidth: boolean;
    sliderRightOpenCloseState: typeof sliderRightOpenCloseState;
    opened: boolean;
    isOpen2: boolean;
    private _sliderOverlap;
    _sliderOverlapParam: boolean;
    initWidth: number;
    slider: ElementRef;
    sliderRightContent: ViewContainerRef;
    WidthChangeEvent: EventEmitter<any>;
    mouseUp(event: any): void;
    mouseMove(event: any): void;
    private changed;
    private dragging;
    private dragStartX;
    private preventCloseSub;
    constructor(sliderRightService: TccSliderRightService);
    ngAfterContentInit(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    setWidth(width: string): void;
    setTop(top: string): void;
    Connect(): Observable<sliderRightOpenCloseState>;
    /**
     *
     * @param OnClose Funktion ob trotzdem geschlossen werden soll. Bei true wird trotzdem geschlossen
     */
    OnPreventClose(OnClose: () => Observable<boolean>): void;
    toggle(width?: string): void;
    open(): void;
    close(): void;
    isOpen(): boolean;
    toggleOverlap(): void;
    animationEnd(event: any): void;
    private _close;
    dragStart(event: MouseEvent): void;
    dragSize(event: any): void;
    dragEnd(event: any): void;
    GetAnimationTrigger(): {
        value: string;
        params: {
            maxWidth: string;
        };
    };
}
