import { EventEmitter } from '@angular/core';
import { PoLanguageService } from '../../../services/po-language/po-language.service';
import { PoBreadcrumb } from '../../po-breadcrumb/po-breadcrumb.interface';
import { PoPageContentComponent } from '../po-page-content/po-page-content.component';
import { PoPageEditLiterals } from './po-page-edit-literals.interface';
export declare const poPageEditLiteralsDefault: {
en: PoPageEditLiterals;
es: PoPageEditLiterals;
pt: PoPageEditLiterals;
ru: PoPageEditLiterals;
};
/**
* @description
*
* O componente **po-page-edit** é utilizado como container principal para tela de edição ou adição de um
* registro, tendo a possibilidade de usar as ações de "Salvar", "Salvar e Novo" e "Cancelar".
*
* Os botões "Salvar" e "Salvar e Novo" podem ser habilitados/desabilitados utilizando a propriedade `p-disable-submit`.
* Esta propriedade pode ser utilizada para desabilitar os botões caso exista um formulário inválido na página ou alguma
* regra de negócio não tenha sido atendida.
*
* #### 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 class PoPageEditBaseComponent {
poPageContent: PoPageContentComponent;
/** Objeto com propriedades do breadcrumb. */
breadcrumb?: PoBreadcrumb;
/** Desabilita botões de submissão (save e saveNew) */
disableSubmit?: boolean;
/**
* Evento que será disparado ao clicar no botão de "Cancelar".
*
* ```
*
*
* ```
*
* > Caso não utilizar esta propriedade, o botão de "Cancelar" não será exibido.
*/
cancel: EventEmitter;
/**
* Evento que será disparado ao clicar no botão de "Salvar".
*
* ```
*
*
* ```
*
* > Caso não utilizar esta propriedade, o botão de "Salvar" não será exibido.
*/
save: EventEmitter;
/**
* Evento que será disparado ao clicar no botão de "Salvar e Novo".
*
* ```
*
*
* ```
*
* > Caso não utilizar esta propriedade, o botão de "Salvar e Novo" não será exibido.
*/
saveNew: EventEmitter;
private _componentsSize?;
private _initialComponentsSize?;
private _literals;
private _title;
private readonly language;
/**
* @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 com as literais usadas no `po-page-edit`.
*
* Existem duas maneiras de customizar o componente, passando um objeto com todas as literais disponíveis:
*
* ```
* const customLiterals: PoPageEditLiterals = {
* cancel: 'Voltar',
* save: 'Confirmar',
* saveNew: 'Confirmar e criar um novo'
* };
* ```
*
* Ou passando apenas as literais que deseja customizar:
*
* ```
* const customLiterals: PoPageEditLiterals = {
* cancel: 'Cancelar processo'
* };
* ```
*
* E para carregar as literais customizadas, basta apenas passar o objeto para o componente.
*
* ```
*
*
* ```
*
* > O objeto padrão de literais será traduzido de acordo com o idioma do
* [`PoI18nService`](/documentation/po-i18n) ou do browser.
*/
set literals(value: PoPageEditLiterals);
get literals(): PoPageEditLiterals;
/** 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;
}