import { PoLanguageService } from './../../../services/po-language/po-language.service';
import { PoBreadcrumb } from '../../po-breadcrumb/po-breadcrumb.interface';
import { PoDisclaimerGroup } from '../../po-disclaimer-group/po-disclaimer-group.interface';
import { PoPageAction } from '../interfaces/po-page-action.interface';
import { PoPageFilter } from '../interfaces/po-page-filter.interface';
import { PoPageContentComponent } from '../po-page-content/po-page-content.component';
import { PoPageListLiterals } from './po-page-list-literals.interface';
export declare const poPageListLiteralsDefault: {
    en: PoPageListLiterals;
    es: PoPageListLiterals;
    pt: PoPageListLiterals;
    ru: PoPageListLiterals;
};
/**
 * @description
 *
 * O componente `po-page-list` é utilizado como o container principal para as telas de listagem de dados,
 * podendo ser apresentado como lista ou tabela.
 *
 * Este componente possibilita realizar filtro dos dados, no qual permite que seja atribuido uma função que será executada no momento
 * da filtragem. Este comportamento pode ser acionado tanto ao *click* do ícone [an-magnifying-glass](https://po-ui.io/icons)
 * quanto ao pressionar da tecla *ENTER* quando o foco estiver no campo de pesquisa.
 *
 * Para facilitar a manipulação e visualização dos filtros aplicados, é possível também utilizar o componente
 * [`po-disclaimer-group`](/documentation/po-disclaimer-group).
 *
 * #### Tokens customizáveis
 *
 * > Para maiores informações, acesse o guia [Personalizando o Tema Padrão com Tokens CSS](https://po-ui.io/guides/theme-customization).
 *
 * | Propriedade         | Descrição                                   | Valor Padrão                          |
 * |---------------------|---------------------------------------------|---------------------------------------|
 * | **Header**          |                                             |                                       |
 * | `--padding`         | Espaçamento do header                       | `var(--spacing-xs) var(--spacing-md)` |
 * | `--gap`             | Espaçamento entre os breadcrumbs e o título | `var(--spacing-md)`                   |
 * | `--gap-actions`     | Espaçamento entre as ações                  | `var(--spacing-xs)`                   |
 * | `--font-family`     | Família tipográfica do título               | `var(--font-family-theme)`            |
 * | **Content**         |                                             |                                       |
 * | `--padding-content` | Espaçamento do conteúdo                     | `var(--spacing-xs) var(--spacing-sm)` |
 */
export declare abstract class PoPageListBaseComponent {
    poPageContent: PoPageContentComponent;
    /**
     * @optional
     *
     * @description
     *
     * Objeto que implementa as propriedades da interface `PoBreadcrumb`.
     */
    breadcrumb?: PoBreadcrumb;
    /**
     * @description
     *
     * Objeto que implementa as propriedades da interface `PoPageFilter`.
     */
    filter: PoPageFilter;
    /**
     * @optional
     *
     * @description
     *
     * Valor padrão na busca rápida ao inicializar o componente
     *
     */
    quickSearchValue: string;
    visibleActions: Array<PoPageAction>;
    protected language: string;
    protected resizeListener: () => void;
    private _actions?;
    private _disclaimerGroup?;
    private _componentsSize?;
    private _initialComponentsSize?;
    private _literals;
    private _title;
    /**
     * @optional
     *
     * @description
     *
     * Nesta propriedade deve ser definido um array de objetos que implementam a interface `PoPageAction`.
     */
    set actions(actions: Array<PoPageAction>);
    get actions(): Array<PoPageAction>;
    /**
     * @optional
     *
     * @description
     *
     * Define o tamanho dos componentes de formulário no template:
     * - `small`: aplica a medida small de cada componente (disponível apenas para acessibilidade AA).
     * - `medium`: aplica a medida medium de cada componente.
     *
     * > Caso a acessibilidade AA não esteja configurada, o tamanho `medium` será mantido.
     * Para mais detalhes, consulte a documentação do [po-theme](https://po-ui.io/documentation/po-theme).
     *
     * @default `medium`
     */
    set componentsSize(value: string);
    get componentsSize(): string;
    /**
     * @optional
     *
     * @description
     *
     * Objeto que implementa as propriedades da interface `PoDisclaimerGroup`.
     */
    set disclaimerGroup(value: PoDisclaimerGroup);
    get disclaimerGroup(): PoDisclaimerGroup;
    /**
     * @optional
     *
     * @description
     *
     * Objeto com as literais usadas no `po-page-list`.
     *
     * Existem duas maneiras de customizar o componente, passando um objeto com todas as literais disponíveis:
     *
     * ```
     *  const customLiterals: PoPageListLiterals = {
     *    otherActions: 'Mais ações'
     *  };
     * ```
     *
     * Ou passando apenas as literais que deseja customizar:
     *
     * ```
     *  const customLiterals: PoPageListLiterals = {
     *    otherActions: 'Ações da página'
     *  };
     * ```
     *
     * E para carregar as literais customizadas, basta apenas passar o objeto para o componente.
     *
     * ```
     * <po-page-list
     *   [p-literals]="customLiterals">
     * </po-page-list>
     * ```
     *
     * > O valor padrão será traduzido de acordo com o idioma configurado no [`PoI18nService`](/documentation/po-i18n) ou *browser*.
     */
    set literals(value: PoPageListLiterals);
    get literals(): PoPageListLiterals;
    /** Título da página. */
    set title(title: string);
    get title(): string;
    /**
     * @optional
     *
     * @description
     *
     * Subtitulo do Header da página
     */
    subtitle: string;
    constructor(languageService: PoLanguageService);
    protected onThemeChange(): void;
    private applySizeBasedOnA11y;
    abstract setDropdownActions(): any;
}
