import { EventEmitter, TemplateRef } from '@angular/core';
import { PoItemListFilterMode } from '../enums/po-item-list-filter-mode.enum';
import { PoItemListType } from '../enums/po-item-list-type.enum';
import { PoItemListAction } from './interfaces/po-item-list-action.interface';
import { PoItemListOptionGroup } from './interfaces/po-item-list-option-group.interface';
import { PoItemListOption } from './interfaces/po-item-list-option.interface';
/**
 * @description
 *
 * O componente `po-item-list` é a menor parte da lista de ação que compõem o componente [**PO Listbox**](/documentation/po-listbox).
 */
export declare class PoItemListBaseComponent {
    private readonly _label;
    private readonly _value;
    private _type;
    private _visible;
    private _disabled;
    _activeTabs: boolean;
    set type(value: string);
    get type(): PoItemListType;
    /**
     * @optional
     *
     * @description
     *
     * Define o estado como visível.
     *
     * @default `true`
     */
    set visible(value: any);
    get visible(): boolean;
    item: PoItemListAction | PoItemListOption | PoItemListOptionGroup | any;
    /** Texto de exibição do item. */
    label: string;
    /** Tamanho do texto exibido. */
    size: string;
    /** Valor do item. */
    value: string;
    danger: boolean;
    /**
     * @optional
     *
     * @description
     *
     * Define o estado como desabilitado.
     *
     * @default `false`
     */
    set disabled(value: any);
    get disabled(): boolean;
    /**
     * @optional
     *
     * @description
     *
     * Define se a ação está selecionada.
     *
     * @default `false`
     */
    selected: boolean;
    /**
     * @optional
     *
     * @description
     *
     * Atribui uma linha separadora acima do item.
     *
     * @default `false`
     */
    separator: boolean;
    /**
     * @optional
     *
     * @description
     *
     * Define um ícone que será exibido ao lado esquerdo do rótulo.
     */
    icon: string | TemplateRef<void>;
    /**
     * @optional
     *
     * @description
     *
     * Define se deve ser exibido o ícone indicando subnível.
     */
    iconArrowRight: string;
    iconPosition: 'left' | 'right';
    /**
     * @optional
     *
     * @description
     *
     * Ação a ser realizada ao clicar no item do tipo `option`.
     */
    clickItem: EventEmitter<any>;
    checkboxItem: EventEmitter<any>;
    comboItem: EventEmitter<any>;
    checkboxValue: any;
    fieldValue: string;
    fieldLabel: string;
    template: TemplateRef<any> | any;
    templateContext: any;
    searchValue: string;
    filterMode: PoItemListFilterMode;
    isFiltering: boolean;
    shouldMarkLetters: boolean;
    compareCache: boolean;
    comboService: any;
    isTabs?: boolean;
    tabHide?: boolean;
    tabsItem: EventEmitter<any>;
    activatedTab: EventEmitter<any>;
    set activeTabs(value: boolean);
    get activeTabs(): boolean;
    keysLabel?: Array<string>;
    protected emitActiveTabs(tab: any): void;
}
