import * as React from 'react';
import { IgRect } from "igniteui-react-core/ES2015/IgRect";
import { ZoomSliderOrientation } from './ZoomSliderOrientation';
import { ZoomSliderResolvingAxisValueEventArgs } from './igr-zoom-slider-resolving-axis-value-event-args';
import { RectChangedEventArgs } from "igniteui-react-core/ES2015/igr-rect-changed-event-args";
import { ZoomSlider } from "./ZoomSlider";
export declare const IgxZoomSliderComponent_PROVIDERS: any[];
export declare class IgrZoomSlider extends React.Component<IIgrZoomSliderProps> {
    private _container;
    private _height;
    private _width;
    private _initialized;
    private _elRef;
    height: string;
    width: string;
    private _wrapper;
    private _getMainRef;
    render(): React.DetailedReactHTMLElement<React.HTMLAttributes<any>, any>;
    constructor(props: IIgrZoomSliderProps);
    protected initializeProperties(): void;
    updateStyle(): void;
    componentWillUnmount(): void;
    private _implementation;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): ZoomSlider;
    readonly i: ZoomSlider;
    private _zoomSlider;
    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;
    /**
 * 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;
    private _resolvingAxisValue_wrapped;
    resolvingAxisValue: (s: IgrZoomSlider, e: ZoomSliderResolvingAxisValueEventArgs) => void;
    private _windowRectChanged;
    private _windowRectChanged_wrapped;
    /**
     * Occurs just after the current ZoomSlider's window rectangle is changed.
    */
    windowRectChanged: (s: IgrZoomSlider, e: RectChangedEventArgs) => void;
}
export interface IIgrZoomSliderProps {
    width?: string;
    height?: string;
    panTransitionDuration?: number | string;
    maxZoomWidth?: number | string;
    /**
     * 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 | string;
    actualPixelScalingRatio?: number | string;
    windowRect?: IgRect | string;
    minZoomWidth?: number | string;
    startInset?: number | string;
    endInset?: number | string;
    trackStartInset?: number | string;
    trackEndInset?: number | string;
    barExtent?: number | string;
    orientation?: ZoomSliderOrientation | string;
    lowerThumbBrush?: string;
    lowerThumbStrokeThickness?: number | string;
    higherThumbStrokeThickness?: number | string;
    higherThumbBrush?: string;
    lowerThumbOutline?: string;
    higherThumbOutline?: string;
    lowerThumbRidgesBrush?: string;
    higherThumbRidgesBrush?: string;
    lowerThumbWidth?: number | string;
    higherThumbWidth?: number | string;
    lowerThumbHeight?: number | string;
    higherThumbHeight?: number | string;
    lowerShadeBrush?: string;
    lowerShadeOutline?: string;
    lowerShadeStrokeThickness?: number | string;
    higherShadeBrush?: string;
    higherShadeOutline?: string;
    higherShadeStrokeThickness?: number | string;
    barBrush?: string;
    barOutline?: string;
    barStrokeThickness?: number | string;
    rangeThumbBrush?: string;
    rangeThumbOutline?: string;
    rangeThumbStrokeThickness?: number | string;
    rangeThumbRidgesBrush?: string;
    lowerCalloutBrush?: string;
    lowerCalloutTextColor?: string;
    lowerCalloutOutline?: string;
    lowerCalloutStrokeThickness?: number | string;
    higherCalloutBrush?: string;
    higherCalloutTextColor?: string;
    higherCalloutOutline?: string;
    higherCalloutStrokeThickness?: number | string;
    areThumbCalloutsEnabled?: boolean | string;
    thumbCalloutTextStyle?: string;
    resolvingAxisValue?: (s: IgrZoomSlider, e: ZoomSliderResolvingAxisValueEventArgs) => void;
    /**
     * Occurs just after the current ZoomSlider's window rectangle is changed.
    */
    windowRectChanged?: (s: IgrZoomSlider, e: RectChangedEventArgs) => void;
}
