import { IgcHTMLElement } from "igniteui-webcomponents-core";
import { ColumnSortDirection } from "./ColumnSortDirection";
import { SortIndicatorStyle } from "./SortIndicatorStyle";
import { IgcSortIndicatorRenderCompletedEventArgs } from "./igc-sort-indicator-render-completed-event-args";
import { GridSortIndicator } from "./GridSortIndicator";
/**
 * An advanced grid for displaying data.
*/
export declare class IgcDataGridSortIndicatorComponent extends IgcHTMLElement {
    protected createImplementation(): GridSortIndicator;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): GridSortIndicator; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgcDataGridSortIndicatorComponent;
    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 _observedAttributesIgcDataGridSortIndicatorComponent;
    static get observedAttributes(): string[];
    private _updatingFromAttribute;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    static htmlTagName: string;
    protected static _isElementRegistered: boolean;
    static register(): void;
    get sortDirection(): ColumnSortDirection;
    set sortDirection(v: ColumnSortDirection);
    get iconColor(): string;
    set iconColor(v: string);
    get isAnimationEnabled(): boolean;
    set isAnimationEnabled(v: boolean);
    /**
     * 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);
    /**
     * Gets the actual pixel scaling ratio 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 actualPixelScalingRatio(): number;
    set actualPixelScalingRatio(v: number);
    get sortIndicatorStyle(): SortIndicatorStyle;
    set sortIndicatorStyle(v: SortIndicatorStyle);
    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;
    getDesiredScale(): number;
    notifySizeChanged(width: number, height: number): void;
    notifyCellSizeChanged(): void;
    private _renderCompleted;
    private _renderCompleted_wrapped;
    get renderCompleted(): (s: IgcDataGridSortIndicatorComponent, e: IgcSortIndicatorRenderCompletedEventArgs) => void;
    set renderCompleted(ev: (s: IgcDataGridSortIndicatorComponent, e: IgcSortIndicatorRenderCompletedEventArgs) => void);
}
