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".
     *
     * ```
     * <po-page-edit (p-cancel)="myCancelFunction()">
     * </po-page-edit>
     * ```
     *
     * > Caso não utilizar esta propriedade, o botão de "Cancelar" não será exibido.
     */
    cancel: EventEmitter<any>;
    /**
     * Evento que será disparado ao clicar no botão de "Salvar".
     *
     * ```
     * <po-page-edit (p-save)="mySaveFunction()">
     * </po-page-edit>
     * ```
     *
     * > Caso não utilizar esta propriedade, o botão de "Salvar" não será exibido.
     */
    save: EventEmitter<any>;
    /**
     * Evento que será disparado ao clicar no botão de "Salvar e Novo".
     *
     * ```
     * <po-page-edit (p-save-new)="mySaveNewFunction()">
     * </po-page-edit>
     * ```
     *
     * > Caso não utilizar esta propriedade, o botão de "Salvar e Novo" não será exibido.
     */
    saveNew: EventEmitter<any>;
    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.
     *
     * ```
     * <po-page-edit
     *   [p-literals]="customLiterals">
     * </po-page-edit>
     * ```
     *
     * > 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.
     *
     * Suporta formatação básica com as tags `<b>` (negrito), `<strong>` (negrito), `<i>` (itálico), `<em>` (itálico) e
     * `<u>` (sublinhado).
     *
     * Exemplo:
     * ```typescript
     * subtitle = 'Fields marked with <b>*</b> are <u>required</u>';
     * ```
     *
     * > Requer que `p-title` esteja definido.
     */
    subtitle: string;
    constructor(languageService: PoLanguageService);
    protected onThemeChange(): void;
    private applySizeBasedOnA11y;
}
