import { Base, Type, IEnumerable$1, INotifyPropertyChanged, PropertyChangedEventArgs } from "igniteui-webcomponents-core";
import { DomWrapper, DomRenderer } from "igniteui-webcomponents-core";
import { SizeData } from "igniteui-webcomponents-core";
import { ControlDisplayDensity } from "igniteui-webcomponents-core";
import { BaseControlTheme } from "igniteui-webcomponents-core";
import { Size } from "igniteui-webcomponents-core";
import { XButton } from "igniteui-webcomponents-inputs";
import { XIcon } from "igniteui-webcomponents-inputs";
import { ButtonDisplayStyle } from "igniteui-webcomponents-inputs";
import { XButtonGroup } from "igniteui-webcomponents-inputs";
import { ColumnSortDirection } from "./ColumnSortDirection";
import { ListSortDirection } from "igniteui-webcomponents-core";
import { FontInfo } from "igniteui-webcomponents-core";
import { SRProvider } from "igniteui-webcomponents-core";
import { Brush } from "igniteui-webcomponents-core";
import { DataGridColumn } from "./DataGridColumn";
import { DataGrid } from "./DataGrid";
import { NotifyCollectionChangedEventArgs } from "igniteui-webcomponents-core";
import { ColumnPinnedChangedEventArgs } from "./ColumnPinnedChangedEventArgs";
/**
 * @hidden
 */
export declare abstract class GridColumnOptionsViewBase extends Base {
    static $t: Type;
    private d;
    private f;
    private a;
    protected get g(): DomWrapper;
    protected get b(): GridColumnOptionsBase;
    get e(): DomRenderer;
    c(): SizeData;
    protected k(): void;
    m(): void;
    l(a: DomRenderer): void;
    protected h(a: DomWrapper): void;
    i(a: GridColumnOptionsBase): void;
    j(): void;
}
/**
 * @hidden
 */
export declare class GridColumnOptionsUtilities extends Base {
    static $t: Type;
    static d(a: DomRenderer, b: string, c: string, d: string, e: DomWrapper, f: DomWrapper, g?: boolean): {
        ret: DomWrapper;
        p4: DomWrapper;
        p5: DomWrapper;
    };
    static e(a: DomRenderer, b: string, c: string, d: string, e: string, f: DomWrapper): {
        ret: DomWrapper;
        p5: DomWrapper;
    };
    static g(a: any, b: DomRenderer, c: string, d: ControlDisplayDensity, e: BaseControlTheme, f: Size, g: XButton, h: XIcon, i: DomWrapper, j?: boolean, k?: boolean): {
        ret: DomWrapper;
        p6: XButton;
        p7: XIcon;
        p8: DomWrapper;
    };
    static f(a: any, b: DomRenderer, c: string, d: ButtonDisplayStyle, e: ControlDisplayDensity, f: BaseControlTheme, g: Size, h: XButton, i: XIcon, j: DomWrapper, k: DomWrapper, l?: boolean, m?: boolean, n?: boolean): {
        ret: DomWrapper;
        p7: XButton;
        p8: XIcon;
        p9: DomWrapper;
        p10: DomWrapper;
    };
    static h(a: any, b: DomRenderer, c: IEnumerable$1<XButton>, d: IEnumerable$1<DomWrapper>, e: ControlDisplayDensity, f: BaseControlTheme, g: XButtonGroup): {
        ret: DomWrapper;
        p6: XButtonGroup;
    };
    static b(a: DomWrapper): boolean;
    static i(a: DomWrapper, b: boolean): void;
    static a(a: ListSortDirection): ColumnSortDirection;
    static c(a: ColumnSortDirection): ListSortDirection;
    static j(a: DomWrapper, b: boolean, c?: string): void;
    static l(a: XButton, b: GridColumnOptionsBase): void;
    static k(a: XButtonGroup, b: GridColumnOptionsBase): void;
}
/**
 * @hidden
 */
export declare abstract class GridColumnOptionsBase extends Base implements INotifyPropertyChanged {
    static $t: Type;
    private d;
    constructor();
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected bc(a: string, b: any, c: any): void;
    private ac;
    private get ad();
    private ae;
    private get af();
    e: GridColumnOptionsViewBase;
    private ah;
    protected get ai(): SRProvider;
    private aj;
    get ak(): boolean;
    set ak(a: boolean);
    static bp: Brush;
    private bm;
    get bo(): Brush;
    set bo(a: Brush);
    private h;
    get j(): BaseControlTheme;
    set j(a: BaseControlTheme);
    private g;
    get i(): BaseControlTheme;
    set i(a: BaseControlTheme);
    private n;
    get buttonDensity(): ControlDisplayDensity;
    set buttonDensity(a: ControlDisplayDensity);
    private l;
    get p(): ControlDisplayDensity;
    set p(a: ControlDisplayDensity);
    private x;
    get ab(): FontInfo;
    set ab(a: FontInfo);
    private v;
    get z(): FontInfo;
    set z(a: FontInfo);
    private a;
    get column(): DataGridColumn;
    set column(a: DataGridColumn);
    private o;
    get density(): ControlDisplayDensity;
    set density(a: ControlDisplayDensity);
    private m;
    get q(): ControlDisplayDensity;
    set q(a: ControlDisplayDensity);
    private y;
    get ag(): FontInfo;
    set ag(a: FontInfo);
    private w;
    get aa(): FontInfo;
    set aa(a: FontInfo);
    get c(): DataGrid;
    static bq: Brush;
    private bn;
    get br(): Brush;
    set br(a: Brush);
    protected abstract f(): GridColumnOptionsViewBase;
    protected a6(): void;
    protected a7(a: any, b: PropertyChangedEventArgs): void;
    protected a8(a: any, b: NotifyCollectionChangedEventArgs): void;
    protected a9(a: any, b: ColumnPinnedChangedEventArgs): void;
    protected a5(a: any, b: any): void;
    protected ba(a: any, b: NotifyCollectionChangedEventArgs): void;
    protected bb(a: any, b: PropertyChangedEventArgs): void;
    protected onViewInitialized(): void;
    protected be(a: string, b: any, c: any): void;
    bi(): void;
    private bk;
    bj(a: DataGrid, b: DataGrid): void;
    bl(): void;
    private a3;
    private a4;
    bh(a: XButton): void;
    bg(a: XButtonGroup): void;
    destroy(): void;
    provideRenderer(a: DomRenderer): void;
}
