import { PoLanguageService } from './../../../services/po-language/po-language.service';
import { PoBreadcrumb } from '../../po-breadcrumb/po-breadcrumb.interface';
import { PoHelperOptions } from '../../po-helper/interfaces/po-helper.interface';
import { PoPageAction } from '../interfaces/po-page-action.interface';
import { PoPageContentComponent } from '../po-page-content/po-page-content.component';
import { PoPageActionsLayout } from './enums/po-page-actions-layout.enum';
import { PoPageHeaderType } from './enums/po-page-header-type.enum';
import { PoPageDefaultLiterals } from './po-page-default-literals.interface';
export declare const poPageDefaultLiteralsDefault: {
    en: PoPageDefaultLiterals;
    es: PoPageDefaultLiterals;
    pt: PoPageDefaultLiterals;
    ru: PoPageDefaultLiterals;
};
export declare const backNavigationAriaLabels: {
    en: string;
    es: string;
    pt: string;
    ru: string;
};
/**
 * @description
 *
 * O `po-page-default` é utilizado como container principal para telas sem um template definido.
 *
 * Oferece suporte a cabeçalhos dinâmicos via `p-page-header-type`, navegação por *breadcrumb*
 * e gerenciamento de ações com agrupamento responsivo via `p-page-actions-layout`.
 *
 * #### 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                          |
 * |----------------------------------------------------|---------------------------------------------|---------------------------------------|
 * | **Página (po-page-default)**                       |                                             |                                       |
 * | `--background`                                     | Background da página (header e body)        | `var(--color-page-background-color-page)` |
 * | **Header (po-page-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)`                   |
 * | **Header (po-page-header .po-page-header-title)**  |                                             |                                       |
 * | `--font-family`                                    | Família tipográfica do título               | `var(--font-family-theme)`            |
 * | **Content (po-page-content)**                      |                                             |                                       |
 * | `--padding-content`                                | Espaçamento do conteúdo                     | `var(--spacing-xs) var(--spacing-sm)` |
 */
export declare abstract class PoPageDefaultBaseComponent {
    poPageContent: PoPageContentComponent;
    visibleActions: Array<PoPageAction>;
    protected language: string;
    private _actions?;
    private _breadcrumb?;
    private _componentsSize?;
    private _initialComponentsSize?;
    private _literals;
    private _pageActionsLayout;
    private _pageHeaderType;
    private _subtitle;
    private _title;
    /**
     * @optional
     *
     * @description
     *
     * Define a lista de ações que serão exibidas no cabeçalho da página.
     *
     * Recebe um array de objetos que implementam a interface `PoPageAction`.
     *
     * > O comportamento de exibição pode ser customizado através da propriedade `p-page-actions-layout`.
     *
     * @default `[]`
     */
    set actions(actions: Array<PoPageAction>);
    get actions(): Array<PoPageAction>;
    /**
     * @optional
     *
     * @description
     *
     * Define o sistema de navegação que indica o caminho da página atual na hierarquia da aplicação.
     *
     * Recebe um objeto que implementa a interface `PoBreadcrumb`.
     *
     * > Compatível com o cabeçalho (`p-page-header-type`) do tipo `primary`.
     */
    set breadcrumb(value: PoBreadcrumb);
    get breadcrumb(): PoBreadcrumb;
    /**
     * @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
     *
     * Define o conteúdo do po-helper informativo exibido ao lado do subtítulo da página.
     *
     * Quando não houver subtítulo (`p-subtitle`), o po-helper será exibido logo abaixo do título.
     *
     * Aceita uma string simples (exibida como conteúdo) ou um objeto do tipo `PoHelperOptions`
     * para configuração avançada (título, conteúdo, tipo, ações).
     *
     * Exemplo de uso:
     * ```html
     * <po-page-default
     *   p-title="Cadastro"
     *   p-subtitle="Preencha os dados"
     *   [p-helper]="{ title: 'Ajuda', content: 'Informações sobre o cadastro' }"
     * ></po-page-default>
     * ```
     *
     * @default `info`
     */
    helper: import("@angular/core").InputSignalWithTransform<string | PoHelperOptions, string | PoHelperOptions>;
    /**
     * @optional
     *
     * @description
     *
     * Permite a customização das literais utilizadas no componente.
     *
     * Para customizar, basta passar um objeto parcial ou completo que implemente a interface `PoPageDefaultLiterals`.
     *
     * Exemplo de uso:
     *
     * ```html
     * <po-page-default [p-literals]="customLiterals"></po-page-default>
     * ```
     *
     * ```typescript
     * const customLiterals: PoPageDefaultLiterals = {
     *   otherActions: 'Mais opções'
     * };
     * ```
     *
     * > O valor padrão será traduzido de acordo com o idioma configurado no [`PoI18nService`](/documentation/po-i18n) ou navegador.
     */
    set literals(value: PoPageDefaultLiterals);
    get literals(): PoPageDefaultLiterals;
    /**
     * @optional
     *
     * @description
     *
     * Define o layout de exibição das ações no cabeçalho.
     *
     * Aceita valores do enum `PoPageActionsLayout`.
     *
     * > Em telas reduzidas (< 480px) as ações fora do *dropdown* que possuam a propriedade `PoPageAction.icon` definida
     * exibirão apenas o ícone.
     *
     * @default `default`
     */
    set pageActionsLayout(value: string | PoPageActionsLayout);
    get pageActionsLayout(): string;
    /**
     * @optional
     *
     * @description
     *
     * Define o tipo de cabeçalho da página.
     *
     * Aceita valores do enum `PoPageHeaderType`.
     *
     * @default `primary`
     */
    set pageHeaderType(value: string | PoPageHeaderType);
    get pageHeaderType(): string;
    /**
     * @optional
     *
     * @description
     *
     * Define o título principal da página.
     */
    set title(title: string);
    get title(): string;
    /**
     * @optional
     *
     * @description
     *
     * Define um texto de apoio ou informações adicionais logo abaixo do título principal.
     *
     * Suporta formatação básica com as tags `<b>` (negrito), `<strong>` (negrito), `<i>` (itálico), `<em>` (itálico) e
     * `<u>` (sublinhado).
     *
     * Exemplo:
     * ```typescript
     * subtitle = 'Texto <b>importante</b> com <em>destaque</em> e <u>sublinhado</u>';
     * ```
     *
     * > Requer que `p-title` esteja definido.
     */
    set subtitle(value: string);
    get subtitle(): string;
    /**
     * @optional
     *
     * @description
     *
     * Evento disparado ao clicar no botão voltar exibido no cabeçalho.
     *
     * > Botão exibido apenas quando a propriedade `p-page-header-type` está configurada como `secondary`.
     */
    back: import("@angular/core").OutputEmitterRef<void>;
    constructor(languageService: PoLanguageService);
    protected onThemeChange(): void;
    private applySizeBasedOnA11y;
    private transformPageHelper;
    abstract setDropdownActions(): any;
    abstract getVisibleActions(): any;
}
