import { Base, Type, INotifyPropertyChanged, PropertyChangedEventArgs } from "igniteui-webcomponents-core";
import { Grid } from "./Grid";
import { DomWrapper, DomRenderer } from "igniteui-webcomponents-core";
import { Column } from "./Column";
import { InputChangeEventArgs } from "igniteui-webcomponents-inputs";
import { KeyEventArgs } from "igniteui-webcomponents-core";
import { IDataSource } from "igniteui-webcomponents-core";
import { GotFocusEventArgs } from "./GotFocusEventArgs";
import { LostFocusEventArgs } from "./LostFocusEventArgs";
import { FontInfo } from "igniteui-webcomponents-core";
import { ColumnWidth } from "./ColumnWidth";
import { SortMode } from "./SortMode";
import { IDataSourceUpdateNotifier } from "igniteui-webcomponents-core";
import { CornerRadius } from "igniteui-webcomponents-core";
import { Brush } from "igniteui-webcomponents-core";
import { BaseControlTheme } from "igniteui-webcomponents-core";
import { Thickness } from "igniteui-webcomponents-core";
import { ControlDisplayDensity } from "igniteui-webcomponents-core";
import { MultiColumnComboBoxTextChangedEventArgs } from "./MultiColumnComboBoxTextChangedEventArgs";
import { MultiColumnComboBoxValueChangedEventArgs } from "./MultiColumnComboBoxValueChangedEventArgs";
import { MultiColumnComboVisualModelExport } from "./MultiColumnComboVisualModelExport";
/**
 * @hidden
 */
export declare class MultiColumnComboBoxView extends Base {
    static $t: Type;
    private ac;
    private ak;
    private f;
    private ai;
    private k;
    private ah;
    private j;
    private aj;
    private l;
    private h;
    private ae;
    private i;
    private af;
    private m;
    private ag;
    private d;
    private aq;
    private static readonly ar;
    private static readonly at;
    private static readonly as;
    private ab;
    private au;
    private aa;
    private ap;
    private x;
    private a;
    private c;
    private w;
    private s;
    private r;
    private p;
    private an;
    private am;
    readonly e: Grid;
    private readonly y;
    private readonly n;
    protected bf(a: DomWrapper): void;
    bg(a: MultiColumnComboBox): void;
    bp(): void;
    protected b1(): void;
    private aw;
    ay(): void;
    az(): void;
    private u;
    private a0;
    private a1;
    bt(a: number, b: number): void;
    bw(a: number, b: any, c: any): void;
    bs(): void;
    bu(a: number, b: any): void;
    bv(a: number, b: any): void;
    bz(a: number, b: number): void;
    b4(a: number, b: any, c: any): void;
    br(): void;
    b0(a: number, b: any): void;
    b2(a: number, b: any): void;
    private o;
    a3(): void;
    private cz;
    b(): IDataSource;
    private q;
    private a8;
    private bc;
    private bo;
    private bq;
    private bx;
    private by;
    b3(a: DomRenderer): void;
    private b5;
    private b6;
    private b7;
    private b8;
    private b9;
    ch(): void;
    a5(a: boolean): void;
    v: boolean;
    private ca;
    private cb;
    private cc;
    ce(a: number): void;
    private ao;
    private cg;
    cj(a: string): void;
    ci(a: any): void;
    ck(): void;
    cp(): void;
    private cm;
    private co;
    private cq;
    private cr;
    private cs;
    cl(a: ColumnWidth): void;
    cn(): void;
    private ct;
    cu(): void;
    private av;
    cv(): void;
    cf(a: boolean): void;
    private z;
    private cw;
    a6(a: boolean): void;
    cd(): void;
    protected readonly al: DomWrapper;
    protected readonly g: MultiColumnComboBox;
    readonly ad: DomRenderer;
    cx(): void;
    private a2;
    private ax;
    private a4;
    private a7;
    private a9;
    private ba;
    private bb;
    private bd;
    private t;
    private be;
    private bh;
    private bi;
    private bj;
    private bk;
    private bl;
    private bm;
    private bn;
    private cy;
}
/**
 * @hidden
 */
export declare class MultiColumnComboBox extends Base implements INotifyPropertyChanged {
    static $t: Type;
    static aa: BaseControlTheme;
    c0: any;
    hi: Brush;
    hj: Brush;
    cb: number;
    h3: Thickness;
    gf: CornerRadius;
    hk: Brush;
    cc: number;
    hl: Brush;
    cd: number;
    ce: number;
    hm: Brush;
    cf: number;
    cg: number;
    hn: Brush;
    ch: number;
    ho: Brush;
    ci: number;
    cj: number;
    ck: number;
    static hf: Brush;
    static hh: Brush;
    static hg: Brush;
    constructor();
    protected u(): MultiColumnComboBoxView;
    protected f4(a: string, b: any, c: any): void;
    private ga;
    private ax;
    private readonly ay;
    v: MultiColumnComboBoxView;
    focus(a: boolean): void;
    private a4;
    be: boolean;
    private c;
    g: string[];
    private o;
    defaultColumnWidth: ColumnWidth;
    private gr;
    hd: Brush;
    private gg;
    g2: Brush;
    private z;
    ac: BaseControlTheme;
    private y;
    ab: BaseControlTheme;
    private gs;
    he: Brush;
    private gh;
    g3: Brush;
    private bp;
    b9: number;
    private bf;
    bz: number;
    private a8;
    columnHeadersVisible: boolean;
    private h0;
    h2: Thickness;
    private hz;
    h1: Thickness;
    private gc;
    ge: CornerRadius;
    private gb;
    gd: CornerRadius;
    private b;
    f: string[];
    private af;
    density: ControlDisplayDensity;
    private ae;
    ag: ControlDisplayDensity;
    private ba;
    dropDownButtonVisible: boolean;
    private gt;
    hq: Brush;
    private gi;
    g4: Brush;
    private bq;
    cl: number;
    private bg;
    b0: number;
    private gu;
    hr: Brush;
    private gj;
    g5: Brush;
    private br;
    cm: number;
    private bh;
    b1: number;
    private bs;
    cn: number;
    private bi;
    b2: number;
    private gv;
    hs: Brush;
    private gk;
    g6: Brush;
    private bt;
    co: number;
    private bj;
    b3: number;
    private bu;
    cp: number;
    private bk;
    b4: number;
    private cu;
    itemsSource: any;
    readonly actualDataSource: IDataSource;
    private ex;
    ev: string;
    private gw;
    ht: Brush;
    private gl;
    g7: Brush;
    static av: FontInfo;
    private ap;
    az: FontInfo;
    private am;
    as: FontInfo;
    private a5;
    actualLabelVisible: boolean;
    private e0;
    e1: string;
    private dn;
    actualNoMatchesFoundLabel: string;
    private gx;
    hu: Brush;
    static readonly dq: string;
    private gm;
    g8: Brush;
    private gy;
    hv: Brush;
    private gn;
    g9: Brush;
    static aw: FontInfo;
    private aq;
    a0: FontInfo;
    private an;
    at: FontInfo;
    private e7;
    e6: string;
    private a3;
    rowSeparatorsVisible: boolean;
    static hp: Brush;
    private gz;
    hw: Brush;
    private go;
    ha: Brush;
    private ar;
    a1: FontInfo;
    private ao;
    au: FontInfo;
    private g0;
    hx: Brush;
    private gp;
    hb: Brush;
    private bv;
    cq: number;
    private bl;
    b5: number;
    private g1;
    hy: Brush;
    private gq;
    hc: Brush;
    private bw;
    cr: number;
    private bm;
    b6: number;
    private bx;
    cs: number;
    private bn;
    b7: number;
    private by;
    ct: number;
    private bo;
    b8: number;
    private a2;
    a7: boolean;
    private w;
    x: SortMode;
    private c3;
    fe: string;
    private c2;
    fc: string;
    private d;
    j: string[];
    private a;
    e: string[];
    private cv;
    c1: any;
    private cx;
    n(): Column;
    eq(): string;
    private cy;
    private eo;
    private m;
    private ep;
    private h;
    i(): string[];
    f0(a: any): void;
    private bc;
    private f3;
    f7(a: string): void;
    f9(): void;
    private f8;
    closeUp(): void;
    destroy(): void;
    dropDown(): void;
    select(): void;
    notifySizeChanged(): void;
    provideRenderer(a: DomRenderer): void;
    cw(): any;
    eh(): string;
    l(): MultiColumnComboVisualModelExport;
    gotFocus: (sender: any, args: GotFocusEventArgs) => void;
    lostFocus: (sender: any, args: LostFocusEventArgs) => void;
    textChanged: (sender: any, args: MultiColumnComboBoxTextChangedEventArgs) => void;
    valueChanged: (sender: any, args: MultiColumnComboBoxValueChangedEventArgs) => void;
    keyDown: (sender: any, args: KeyEventArgs) => void;
    change: (sender: any, args: InputChangeEventArgs) => void;
    changing: (sender: any, args: InputChangeEventArgs) => void;
    fw(a: GotFocusEventArgs): void;
    fy(a: LostFocusEventArgs): void;
    f1(a: MultiColumnComboBoxTextChangedEventArgs): void;
    private f2;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected fz(a: string, b: any, c: any): void;
    fx(a: KeyEventArgs): void;
    fv(a: InputChangeEventArgs): void;
}
/**
 * @hidden
 */
export declare class MultiColumnComboBoxDataSourceNotificationHandler extends Base implements IDataSourceUpdateNotifier {
    static $t: Type;
    private a;
    private b;
    constructor(a: MultiColumnComboBoxView, b: boolean);
    rangeActualized(a: number, b: number): void;
    notifySetItem(a: number, b: any, c: any): void;
    notifyClearItems(): void;
    notifyInsertItem(a: number, b: any): void;
    notifyRemoveItem(a: number, b: any): void;
}
