import * as React from 'react';
import { PropertyUpdatedEventArgs } from "igniteui-react-core/ES2015/igr-property-updated-event-args";
import { SizeScale } from "./SizeScale";
/**
 * Represents a scale that is used determine an object's size.
*/
export declare class IgrSizeScale<P extends IIgrSizeScaleProps = IIgrSizeScaleProps> extends React.Component<P, {}> {
    protected createImplementation(): SizeScale;
    protected _implementation: any;
    readonly i: SizeScale;
    private onImplementationCreated;
    constructor(props: P);
    private _hasUserValues;
    protected readonly hasUserValues: Set<string>;
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    render(): any;
    /**
     * Gets or sets the minimum value for this scale.
    */
    minimumValue: number;
    /**
     * Gets or sets the maximum value for this scale.
    */
    maximumValue: number;
    /**
     * Gets or sets whether the scale is logarithmic.
    */
    isLogarithmic: boolean;
    /**
     * Gets or sets the logarithm base for this scale.
    */
    logarithmBase: number;
    private _propertyUpdated;
    private _propertyUpdated_wrapped;
    /**
     * Event raised when a property (including "effective" and non-dependency property) value changes.
    */
    propertyUpdated: (s: IgrSizeScale, e: PropertyUpdatedEventArgs) => void;
}
export interface IIgrSizeScaleProps {
    /**
     * Gets or sets the minimum value for this scale.
    */
    minimumValue?: number | string;
    /**
     * Gets or sets the maximum value for this scale.
    */
    maximumValue?: number | string;
    /**
     * Gets or sets whether the scale is logarithmic.
    */
    isLogarithmic?: boolean | string;
    /**
     * Gets or sets the logarithm base for this scale.
    */
    logarithmBase?: number | string;
    /**
     * Event raised when a property (including "effective" and non-dependency property) value changes.
    */
    propertyUpdated?: (s: IgrSizeScale, e: PropertyUpdatedEventArgs) => void;
}
