import * as React from 'react';
import { IgRect } from "igniteui-react-core";
import { ZoomSliderOrientation } from './ZoomSliderOrientation';
import { IgrZoomSliderResolvingAxisValueEventArgs } from './igr-zoom-slider-resolving-axis-value-event-args';
import { IgrRectChangedEventArgs } from "igniteui-react-core";
import { ZoomSlider } from "./ZoomSlider";
export declare class IgrZoomSlider extends React.Component<IIgrZoomSliderProps> {
    private _container;
    private _height;
    private _width;
    private _initialized;
    private _elRef;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    private _wrapper;
    private _getMainRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
    }, any>;
    constructor(props: IIgrZoomSliderProps);
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    protected initializeProperties(): void;
    updateStyle(): void;
    /**
     * Release any resources held by the ZoomSlider.
     */
    destroy(): void;
    componentWillUnmount(): void;
    private _implementation;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): ZoomSlider;
    get i(): ZoomSlider;
    private _zoomSlider;
    protected static _staticStyling(container: any, component: any, parent?: any): void;
    get panTransitionDuration(): number;
    set panTransitionDuration(v: number);
    get maxZoomWidth(): number;
    set maxZoomWidth(v: 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.
    */
    get pixelScalingRatio(): number;
    set pixelScalingRatio(v: number);
    get actualPixelScalingRatio(): number;
    set actualPixelScalingRatio(v: number);
    get windowRect(): IgRect;
    set windowRect(v: IgRect);
    get minZoomWidth(): number;
    set minZoomWidth(v: number);
    get startInset(): number;
    set startInset(v: number);
    get endInset(): number;
    set endInset(v: number);
    get trackStartInset(): number;
    set trackStartInset(v: number);
    get trackEndInset(): number;
    set trackEndInset(v: number);
    get barExtent(): number;
    set barExtent(v: number);
    get orientation(): ZoomSliderOrientation;
    set orientation(v: ZoomSliderOrientation);
    get lowerThumbBrush(): string;
    set lowerThumbBrush(v: string);
    get lowerThumbStrokeThickness(): number;
    set lowerThumbStrokeThickness(v: number);
    get higherThumbStrokeThickness(): number;
    set higherThumbStrokeThickness(v: number);
    get higherThumbBrush(): string;
    set higherThumbBrush(v: string);
    get lowerThumbOutline(): string;
    set lowerThumbOutline(v: string);
    get higherThumbOutline(): string;
    set higherThumbOutline(v: string);
    get lowerThumbRidgesBrush(): string;
    set lowerThumbRidgesBrush(v: string);
    get higherThumbRidgesBrush(): string;
    set higherThumbRidgesBrush(v: string);
    get lowerThumbWidth(): number;
    set lowerThumbWidth(v: number);
    get higherThumbWidth(): number;
    set higherThumbWidth(v: number);
    get lowerThumbHeight(): number;
    set lowerThumbHeight(v: number);
    get higherThumbHeight(): number;
    set higherThumbHeight(v: number);
    get lowerShadeBrush(): string;
    set lowerShadeBrush(v: string);
    get lowerShadeOutline(): string;
    set lowerShadeOutline(v: string);
    get lowerShadeStrokeThickness(): number;
    set lowerShadeStrokeThickness(v: number);
    get higherShadeBrush(): string;
    set higherShadeBrush(v: string);
    get higherShadeOutline(): string;
    set higherShadeOutline(v: string);
    get higherShadeStrokeThickness(): number;
    set higherShadeStrokeThickness(v: number);
    get barBrush(): string;
    set barBrush(v: string);
    get barOutline(): string;
    set barOutline(v: string);
    get barStrokeThickness(): number;
    set barStrokeThickness(v: number);
    get rangeThumbBrush(): string;
    set rangeThumbBrush(v: string);
    get rangeThumbOutline(): string;
    set rangeThumbOutline(v: string);
    get rangeThumbStrokeThickness(): number;
    set rangeThumbStrokeThickness(v: number);
    get rangeThumbRidgesBrush(): string;
    set rangeThumbRidgesBrush(v: string);
    get lowerCalloutBrush(): string;
    set lowerCalloutBrush(v: string);
    get lowerCalloutTextColor(): string;
    set lowerCalloutTextColor(v: string);
    get lowerCalloutOutline(): string;
    set lowerCalloutOutline(v: string);
    get lowerCalloutStrokeThickness(): number;
    set lowerCalloutStrokeThickness(v: number);
    get higherCalloutBrush(): string;
    set higherCalloutBrush(v: string);
    get higherCalloutTextColor(): string;
    set higherCalloutTextColor(v: string);
    get higherCalloutOutline(): string;
    set higherCalloutOutline(v: string);
    get higherCalloutStrokeThickness(): number;
    set higherCalloutStrokeThickness(v: number);
    get isCustomThumbProvided(): boolean;
    get isCustomRangeThumbProvided(): boolean;
    get isCustomBarProvided(): boolean;
    get isCustomShadeProvided(): boolean;
    get areThumbCalloutsEnabled(): boolean;
    set areThumbCalloutsEnabled(v: boolean);
    get thumbCalloutTextStyle(): string;
    set thumbCalloutTextStyle(v: string);
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get 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;
    /**
     * 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;
    get resolvingAxisValue(): (s: IgrZoomSlider, e: IgrZoomSliderResolvingAxisValueEventArgs) => void;
    set resolvingAxisValue(ev: (s: IgrZoomSlider, e: IgrZoomSliderResolvingAxisValueEventArgs) => void);
    private _windowRectChanged;
    private _windowRectChanged_wrapped;
    /**
     * Occurs just after the current ZoomSlider's window rectangle is changed.
    */
    get windowRectChanged(): (s: IgrZoomSlider, e: IgrRectChangedEventArgs) => void;
    set windowRectChanged(ev: (s: IgrZoomSlider, e: IgrRectChangedEventArgs) => void);
}
export interface IIgrZoomSliderProps {
    width?: string;
    height?: string;
    children?: React.ReactNode;
    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: IgrZoomSliderResolvingAxisValueEventArgs) => void;
    /**
     * Occurs just after the current ZoomSlider's window rectangle is changed.
    */
    windowRectChanged?: (s: IgrZoomSlider, e: IgrRectChangedEventArgs) => void;
}
