import { IgcHTMLElement } from "igniteui-webcomponents-core";
import { IgcPropertyUpdatedEventArgs } from "igniteui-webcomponents-core";
import { IgcSeriesComponent } from "./igc-series-component";
import { BrushScale } from "./BrushScale";
/**
 * Represents a base class for brush scales.
*/
export declare class IgcBrushScaleComponent extends IgcHTMLElement {
    protected createImplementation(): BrushScale;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): BrushScale; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgcBrushScaleComponent;
    private onImplementationCreated;
    constructor();
    private _settingAttributes;
    protected _attached: boolean;
    private _queuedSetAttributes;
    protected _enqueueSetAttribute(attrName: string, attrValue: string): void;
    protected _flushQueuedAttributes(): void;
    protected _a(attrName: string, attrValue: any): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    private static _observedAttributesIgcBrushScaleComponent;
    static get observedAttributes(): string[];
    private _updatingFromAttribute;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    static htmlTagName: string;
    protected static _isElementRegistered: boolean;
    static register(): void;
    /**
     * Gets the brushes collection used by this scale.
    */
    get brushes(): string[];
    set brushes(v: string[]);
    /**
     * Gets the status of the scale
    */
    get isReady(): boolean;
    /**
     * Checks if this item is a BrushScale
    */
    get isBrushScale(): boolean;
    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;
    /**
     * Registers a series with the scale. Under normal circumstances you should not need to call this manually.
    
    * @param series  * The series to register with the scale.
    */
    registerSeries(series: IgcSeriesComponent): void;
    /**
     * Unregisters a series with the scale. Under normal circumstances you should not need to call this manually.
    
    * @param series  * The series to unregister from the scale.
    */
    unregisterSeries(series: IgcSeriesComponent): void;
    /**
     * Gets a brush from the brushes collection by index.
    
    */
    getBrush(index: number): string;
    /**
     * Notify attached series about changes to this scale
    
    */
    notifySeries(): void;
    private _propertyUpdated;
    private _propertyUpdated_wrapped;
    /**
     * Event raised when a property (including "effective" and non-dependency property) value changes.
    */
    get propertyUpdated(): (s: IgcBrushScaleComponent, e: IgcPropertyUpdatedEventArgs) => void;
    set propertyUpdated(ev: (s: IgcBrushScaleComponent, e: IgcPropertyUpdatedEventArgs) => void);
}
