import { IgSize } from "igniteui-webcomponents-core";
import { CheckboxList } from './CheckboxList';
import { IgcCheckedChangedEventArgs } from "./igc-checked-changed-event-args";
import { IgcSelectAllCheckboxChangedEventArgs } from "./igc-select-all-checkbox-changed-event-args";
import { IgcGridSelectedKeysCollection } from "./igc-grid-selected-keys-collection";
import { CheckboxListIndexType } from "./CheckboxListIndexType";
import { InputGroupDisplayType } from "igniteui-webcomponents-inputs";
import { BaseControlTheme } from "igniteui-webcomponents-core";
import { ControlDisplayDensity } from "igniteui-webcomponents-core";
import { ScrollbarStyle } from "igniteui-webcomponents-core";
import { IgcHTMLElement } from "igniteui-webcomponents-core";
import { IgcCheckboxListIndexTypeChangedEventArgs } from './igc-checkbox-list-index-type-changed-event-args';
import { IgcCheckboxListKeysClearedEventArgs } from './igc-checkbox-list-keys-cleared-event-args';
export declare class IgcCheckboxListComponent extends IgcHTMLElement {
    private _height;
    private _width;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    private _dataSource;
    set dataSource(value: any);
    get dataSource(): any;
    private _container;
    private _renderer;
    constructor();
    updateStyle(): void;
    destroy(): void;
    protected createImplementation(): CheckboxList;
    private _checkboxList;
    private _disconnected;
    disconnectedCallback(): void;
    connectedCallback(): void;
    afterContentInit(): void;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): CheckboxList; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgcCheckboxListComponent;
    private _settingAttributes;
    protected _attached: boolean;
    private _queuedSetAttributes;
    protected _enqueueSetAttribute(attrName: string, attrValue: string): void;
    protected _flushQueuedAttributes(): void;
    protected _a(attrName: string, attrValue: any): void;
    private static _observedAttributesIgcCheckboxListComponent;
    static get observedAttributes(): string[];
    private _updatingFromAttribute;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    static htmlTagName: string;
    protected static _isElementRegistered: boolean;
    static register(): void;
    private _keys;
    /**
     * Gets the collection responsible for selection in the CheckboxList. Selection is determined by two factors:
     * whether everything is selected or deselected and the values present in this collection. If everything is
     * selected then any items in this collection will be deselected. If everything is deselected then any items in
     * this collection will be selected. The CheckboxList defaults all items as deselected. This state can change
     * when you use the SelectAll and DeselectAll methods.
    */
    get keys(): IgcGridSelectedKeysCollection;
    set keys(v: IgcGridSelectedKeysCollection);
    /**
     * Gets or sets the primary key to use for the CheckboxList.
    */
    get primaryKey(): string[];
    set primaryKey(v: string[]);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get dataMemberPath(): string;
    set dataMemberPath(v: string);
    get dataLegendTarget(): any;
    set dataLegendTarget(v: any);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get subtitleMemberPath(): string;
    set subtitleMemberPath(v: string);
    get propertyTypeMemberPath(): string;
    set propertyTypeMemberPath(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get selectedMemberPath(): string;
    set selectedMemberPath(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get filterPlaceholderText(): string;
    set filterPlaceholderText(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get searchInputType(): InputGroupDisplayType;
    set searchInputType(v: InputGroupDisplayType);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get rowHeight(): number;
    set rowHeight(v: number);
    get actualRowHeight(): number;
    /**
     * Gets or Sets the property name that contains the values.
    */
    get cellTextStyle(): string;
    set cellTextStyle(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get indexType(): CheckboxListIndexType;
    set indexType(v: CheckboxListIndexType);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get density(): ControlDisplayDensity;
    set density(v: ControlDisplayDensity);
    /**
     * Gets or sets the search icon color.
    */
    get searchIconColor(): string;
    set searchIconColor(v: string);
    /**
     * Gets or sets the search background color.
    */
    get searchBackgroundColor(): string;
    set searchBackgroundColor(v: string);
    /**
     * Gets or sets the search background color.
    */
    get labelClickTriggersChange(): boolean;
    set labelClickTriggersChange(v: boolean);
    /**
     * Gets or sets the search text color.
    */
    get searchTextColor(): string;
    set searchTextColor(v: string);
    /**
     * Gets or sets the search border color.
    */
    get searchBorderColor(): string;
    set searchBorderColor(v: string);
    /**
     * Gets or sets the text style.
    */
    get searchTextStyle(): string;
    set searchTextStyle(v: string);
    /**
     * Gets or sets the checkbox tick color.
    */
    get checkboxTickColor(): string;
    set checkboxTickColor(v: string);
    /**
     * Gets or sets the checkbox background color when checked.
    */
    get checkboxCheckedBackgroundColor(): string;
    set checkboxCheckedBackgroundColor(v: string);
    /**
     * Gets or sets the checkbox background color when unchecked.
    */
    get checkboxUncheckedBackgroundColor(): string;
    set checkboxUncheckedBackgroundColor(v: string);
    /**
     * Gets or sets the checkbox border color when checked.
    */
    get checkboxCheckedBorderColor(): string;
    set checkboxCheckedBorderColor(v: string);
    /**
     * Gets or sets the checkbox border color when unchecked.
    */
    get checkboxUncheckedBorderColor(): string;
    set checkboxUncheckedBorderColor(v: string);
    /**
     * Gets or sets the corner radius to use for the checkbox.
    */
    get checkboxCornerRadius(): number;
    set checkboxCornerRadius(v: number);
    /**
     * Gets or sets the style of scrollbar.
    */
    get scrollbarStyle(): ScrollbarStyle;
    set scrollbarStyle(v: ScrollbarStyle);
    /**
     * Gets or sets the scrollbar background color.
    */
    get scrollbarBackground(): string;
    set scrollbarBackground(v: string);
    /**
     * Gets / sets the caption of the "Select All" checkbox.
    */
    get selectAllCaption(): string;
    set selectAllCaption(v: string);
    /**
     * Gets or sets the color to use for the "Select All" label.
    */
    get selectAllCaptionTextColor(): string;
    set selectAllCaptionTextColor(v: string);
    /**
     * Gets or sets the color to use for the actual header selectAllCaption text.
    */
    get actualSelectAllCaptionTextColor(): string;
    set actualSelectAllCaptionTextColor(v: string);
    /**
     * Gets / sets whether the "Select all" checkbox is visible.
    */
    get showSelectAll(): boolean;
    set showSelectAll(v: boolean);
    /**
     * Gets or sets the color to use for the background of the component.
    */
    get backgroundColor(): string;
    set backgroundColor(v: string);
    /**
     * Gets or sets the color to use when hovering over a grid row.
    */
    get rowHoverBackgroundColor(): string;
    set rowHoverBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the text of the component.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or sets whether the filter input is visible.
    */
    get showFilter(): boolean;
    set showFilter(v: boolean);
    /**
     * Gets or sets whether row hover highlighting is enabled.
    */
    get isRowHoverEnabled(): boolean;
    set isRowHoverEnabled(v: boolean);
    /**
     * Gets or sets whether checkbox should be displayed to the right.
    */
    get checkboxAlignedRight(): boolean;
    set checkboxAlignedRight(v: 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;
    /**
 * selects all the items in the checkbox list.

*/
    selectAll(): void;
    /**
     * Deselects all the items in the checkbox list.
    
    */
    deselectAll(): void;
    notifySetItem(index: number, oldItem: any, newItem: any): void;
    /**
     * Manually notifies the checkboxlist's grid that the data it has bound to has been cleared and needs to be re-examined.
     * This should not be called if the data that the grid is bound to is already observable.
    
    */
    notifyClearItems(): void;
    notifyInsertItem(index: number, newItem: any): void;
    notifyRemoveItem(index: number, oldItem: any): void;
    refresh(): void;
    addKeyValue(value: any[]): void;
    removeKeyValue(value: any[]): void;
    getDesiredSize(availableSize: IgSize): IgSize;
    /**
     * Returns true if no items are selected / checked; otherwise false.
    
    */
    isNothingSelected(): boolean;
    /**
     * Returns true if all of the items are selected / checked; otherwise false.
    
    */
    isEverythingSelected(): boolean;
    private _selectedKeyAdded;
    private _selectedKeyAdded_wrapped;
    /**
     * Called when an item is added.
    */
    get selectedKeyAdded(): (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void;
    set selectedKeyAdded(ev: (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void);
    private _selectedKeyRemoved;
    private _selectedKeyRemoved_wrapped;
    /**
     * Called when an item is removed.
    */
    get selectedKeyRemoved(): (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void;
    set selectedKeyRemoved(ev: (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void);
    private _checkedChanged;
    private _checkedChanged_wrapped;
    /**
     * Called when a checkbox is checked or unchecked.
    */
    get checkedChanged(): (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void;
    set checkedChanged(ev: (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void);
    private _labelClicked;
    private _labelClicked_wrapped;
    get labelClicked(): (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void;
    set labelClicked(ev: (s: IgcCheckboxListComponent, e: IgcCheckedChangedEventArgs) => void);
    private _indexTypeChanged;
    private _indexTypeChanged_wrapped;
    get indexTypeChanged(): (s: IgcCheckboxListComponent, e: IgcCheckboxListIndexTypeChangedEventArgs) => void;
    set indexTypeChanged(ev: (s: IgcCheckboxListComponent, e: IgcCheckboxListIndexTypeChangedEventArgs) => void);
    private _keysCleared;
    private _keysCleared_wrapped;
    get keysCleared(): (s: IgcCheckboxListComponent, e: IgcCheckboxListKeysClearedEventArgs) => void;
    set keysCleared(ev: (s: IgcCheckboxListComponent, e: IgcCheckboxListKeysClearedEventArgs) => void);
    private _selectAllCheckboxChanged;
    private _selectAllCheckboxChanged_wrapped;
    /**
     * Called when the SelectAll checkbox is checked or unchecked.
    */
    get selectAllCheckboxChanged(): (s: IgcCheckboxListComponent, e: IgcSelectAllCheckboxChangedEventArgs) => void;
    set selectAllCheckboxChanged(ev: (s: IgcCheckboxListComponent, e: IgcSelectAllCheckboxChangedEventArgs) => void);
}
