import { AfterContentInit, ElementRef, EventEmitter, OnDestroy, ViewContainerRef } from '@angular/core';
import { TccSliderRightService } from '../../services/tcc-slider-right/tcc-slider-right.service';
import { Observable, Subject } from 'rxjs';
import { TccUserPropertyService } from '../../services/tcc-user-property/tcc-user-property.service';
export declare namespace TccSliderRight {
    enum sliderRightOpenCloseState {
        Open = 0,
        Opened = 1,
        Close = 2,
        Closed = 3,
        closeStopped = 4
    }
    enum userServiceSliderPropertyName {
        width = "width"
    }
}
export declare class TccSliderRightComponent implements OnDestroy, AfterContentInit {
    private sliderRightService;
    private userPropertyService;
    canClose: boolean;
    minWidth: number;
    isGlobal: boolean;
    contentMarginLeft: number;
    set width(width: number);
    fullHeight: boolean;
    onClose: EventEmitter<any>;
    canCloseFunc: () => boolean;
    get _canClose(): boolean;
    sliderTop: string;
    openCloseSubject: Subject<TccSliderRight.sliderRightOpenCloseState>;
    lockWidth: boolean;
    _initWidth: number;
    _sliderWidth: string;
    sliderRightOpenCloseState: typeof TccSliderRight.sliderRightOpenCloseState;
    opened: boolean;
    isOpen2: boolean;
    private _sliderOverlap;
    _sliderOverlapParam: boolean;
    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, userPropertyService: TccUserPropertyService);
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    setWidth(width: string): void;
    setTop(top: string): void;
    Connect(): Observable<TccSliderRight.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;
        };
    };
}
