import { EventEmitter, ViewContainerRef, Injector, ComponentFactoryResolver, AfterContentInit, Renderer2, NgZone } from '@angular/core';
import { IgRect } from "igniteui-angular-core";
import { ZoomSliderOrientation } from './ZoomSliderOrientation';
import { IgxZoomSliderResolvingAxisValueEventArgs } from './igx-zoom-slider-resolving-axis-value-event-args';
import { IgxRectChangedEventArgs } from "igniteui-angular-core";
import { ZoomSlider } from "./ZoomSlider";
export declare const IgxZoomSliderComponent_PROVIDERS: any[];
export declare class IgxZoomSliderComponent implements AfterContentInit {
    private renderer;
    private _elRef;
    private ngZone;
    private injector;
    private componentFactoryResolver;
    container: Element;
    private _height;
    private _width;
    height: string;
    width: string;
    _dynamicContent: ViewContainerRef;
    private _wrapper;
    private _root;
    constructor(renderer: Renderer2, _elRef: ViewContainerRef, ngZone: NgZone, injector: Injector, componentFactoryResolver: ComponentFactoryResolver);
    updateStyle(): void;
    ngOnDestroy(): void;
    private _implementation;
    ngAfterContentInit(): void;
    protected createImplementation(): ZoomSlider;
    readonly i: ZoomSlider;
    private _zoomSlider;
    protected static _staticStyling(container: any, component: any, parent?: any): void;
    panTransitionDuration: number;
    maxZoomWidth: number;
    /**
     * Gets or sets the scaling value used to affect the pixel density of the control.
     * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
     * to appear blurry.
    */
    pixelScalingRatio: number;
    actualPixelScalingRatio: number;
    windowRect: IgRect;
    minZoomWidth: number;
    startInset: number;
    endInset: number;
    trackStartInset: number;
    trackEndInset: number;
    barExtent: number;
    orientation: ZoomSliderOrientation;
    lowerThumbBrush: string;
    lowerThumbStrokeThickness: number;
    higherThumbStrokeThickness: number;
    higherThumbBrush: string;
    lowerThumbOutline: string;
    higherThumbOutline: string;
    lowerThumbRidgesBrush: string;
    higherThumbRidgesBrush: string;
    lowerThumbWidth: number;
    higherThumbWidth: number;
    lowerThumbHeight: number;
    higherThumbHeight: number;
    lowerShadeBrush: string;
    lowerShadeOutline: string;
    lowerShadeStrokeThickness: number;
    higherShadeBrush: string;
    higherShadeOutline: string;
    higherShadeStrokeThickness: number;
    barBrush: string;
    barOutline: string;
    barStrokeThickness: number;
    rangeThumbBrush: string;
    rangeThumbOutline: string;
    rangeThumbStrokeThickness: number;
    rangeThumbRidgesBrush: string;
    lowerCalloutBrush: string;
    lowerCalloutTextColor: string;
    lowerCalloutOutline: string;
    lowerCalloutStrokeThickness: number;
    higherCalloutBrush: string;
    higherCalloutTextColor: string;
    higherCalloutOutline: string;
    higherCalloutStrokeThickness: number;
    readonly isCustomThumbProvided: boolean;
    readonly isCustomRangeThumbProvided: boolean;
    readonly isCustomBarProvided: boolean;
    readonly isCustomShadeProvided: boolean;
    areThumbCalloutsEnabled: boolean;
    thumbCalloutTextStyle: string;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected readonly hasUserValues: Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    /**
     * Release any resources held by the ZoomSlider.
    
    */
    destroy(): void;
    /**
     * Called by the UI framework to provide a UI container for rendering this control.
    
    * @param container  * The UI container element.
    */
    provideContainer(container: any): void;
    flush(): void;
    trackDirty(): void;
    /**
     * Shows the ZoomSlider.
    
    */
    show(): void;
    /**
     * Hides the ZoomSlider.
    
    */
    hide(): void;
    private _resolvingAxisValue;
    readonly resolvingAxisValue: EventEmitter<{
        sender: any;
        args: IgxZoomSliderResolvingAxisValueEventArgs;
    }>;
    private _windowRectChanged;
    /**
     * Occurs just after the current ZoomSlider's window rectangle is changed.
    */
    readonly windowRectChanged: EventEmitter<{
        sender: any;
        args: IgxRectChangedEventArgs;
    }>;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
}
