import { type EventEmitter } from '../../stencil-public-runtime';
import type { BrFeedbackState } from '../global.types';
/**
* O `br-message` apresenta um aviso contextual ou feedback em linha sobre uma operação ou estado do sistema.
*
* Defina o tipo de mensagem em `state` (`success`, `danger`, `warning` ou `info`). Opcionalmente, adicione um botão para fechar com `closable`.
*
* ```html
*
* Operação realizada com sucesso.
*
*
* Não foi possível salvar os dados. Tente novamente.
*
* ```
*
* ### Quando usar
*
* - Feedback sobre uma ação recém-executada na página (salvar, excluir, atualizar).
* - Mensagens de erro ou orientação em formulários (no slot `feedback` de inputs).
*
* ### Quando evitar
*
* - Avisos críticos que exigem decisão antes de prosseguir: use `br-modal`.
* - Notificações acumuladas em uma central: use `br-notification`.
*
* Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/message?tab=designer).
*
* @category Feedback, Conteúdo
* @status stable
* @category Feedback, Conteúdo
* @status stable
* @slot default - Conteúdo principal da mensagem. Quando utilizado, a prop `message` é ignorada.
* @slot icon - Ícone customizado da mensagem. Quando utilizado, o ícone padrão gerado pela prop `state` é ignorado.
* @slot message-title - Título customizado da mensagem. Quando utilizado, a prop `messageTitle` é ignorada.
* @slot message-body - Corpo customizado da mensagem. Quando utilizado, a prop `message` é ignorada.
* @slot close-button - Botão de fechar customizado. Quando utilizado, o botão padrão é substituído.
*
* @part container - Wrapper principal da mensagem.
* @part icon - Área do ícone da mensagem.
* @part content - Área de conteúdo da mensagem.
* @part close - Área do botão de fechar.
*
*/
export declare class Message {
/**
* Referência ao elemento host do componente.
* Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.
*/
el: HTMLBrMessageElement;
/**
* Define o título da mensagem, que é exibido no início, acima da mensagem principal.
* Este título serve para destacar a mensagem textual. Não é aplicável para mensagens do tipo feedback.
*/
messageTitle: string;
/**
* Identificador único do componente.
* Quando omitido, um valor é gerado automaticamente.
*
* > **Padrão:** valor único gerado por generateUniqueId().
*
*/
customId: string;
/**
* Define o texto da mensagem que será exibido.
* Este é o conteúdo principal da mensagem. A propriedade `message` é obrigatória e deve ser fornecida para que a mensagem apareça.
*/
message: string;
/**
* Exibe o rótulo e o controle na mesma linha.
*
* @deprecated Use `inline`.
*/
isInline: boolean;
/** Exibe o conteúdo em linha. Quando informada, tem precedência sobre `isInline`. */
inline?: boolean;
/**
* Se definido como verdadeiro, um botão de fechar será exibido para permitir que o usuário feche a mensagem.
* O fechamento emitirá o evento `brDidClose`, mas não removerá automaticamente o componente do DOM, a menos que a propriedade `autoRemove` também esteja definida como `true`.
* Este recurso não está disponível para mensagens do tipo feedback.
*
* @deprecated Use `closable`.
*/
isClosable: boolean;
/** Exibe ação de fechar. Quando informada, tem precedência sobre `isClosable`. */
closable?: boolean;
/**
* Controla o comportamento do fechamento do componente quando `isClosable` é verdadeiro.
* - Se definido como `true`, o componente será automaticamente removido do DOM ao clicar no botão de fechar.
* - Se definido como `false`, o componente permanecerá no DOM e apenas emitirá o evento `brDidClose`.
*
* Esta propriedade não tem efeito se `isClosable` for `false`.
* O valor padrão é `false`.
*/
autoRemove: boolean;
/**
* Se definido como verdadeiro, um ícone associado à mensagem será exibido.
* Use esta propriedade para mostrar ou ocultar o ícone da mensagem conforme necessário.
*/
showIcon: boolean;
/**
* Define se a mensagem é do tipo feedback, geralmente usada para fornecer contexto adicional sobre ações do usuário.
* Exemplos incluem mensagens de validação em campos de formulário. Não disponível para mensagens que não sejam de feedback.
*
* @deprecated Use `feedback`.
*/
isFeedback: boolean;
/** Usa apresentação de feedback. Quando informada, tem precedência sobre `isFeedback`. */
feedback?: boolean;
/**
* Define o estado do message. Valores inválidos usam `info`.
* Os possíveis valores são:
* - 'info': Mensagem informativa.
* - 'warning': Mensagem de aviso.
* - 'danger': Mensagem de erro ou alerta.
* - 'success': Mensagem de sucesso.
* O valor padrão é 'info'.
*/
state: BrFeedbackState;
/** Estado de feedback. Quando informado, tem precedência sobre `state`. */
feedbackState?: BrFeedbackState;
/**
* Define o rótulo acessível usado por tecnologias assistivas.
*
*/
ariaLabel: string;
/** Evento emitido quando o usuário fecha a mensagem, se closable for true. */
/** @deprecated Use `brMessageClose`. */
brDidClose: EventEmitter;
/** Evento emitido quando a mensagem é fechada. */
brMessageClose: EventEmitter;
disconnectedCallback(): void;
componentDidLoad(): void;
private get effectiveInline();
private get effectiveClosable();
private get effectiveFeedback();
private get effectiveFeedbackState();
private dismissHandler;
private handleKeyDown;
private checkIconState;
private getAriaLive;
private getStateLabel;
private getCssClassMap;
private renderFeedback;
private renderStandard;
render(): any;
}