import { type EventEmitter } from '../../stencil-public-runtime';
import type { BrDensity, BrLinkTarget, BrNavigateDetail, BrNavigationMode } from '../global.types';
import type { SignInEmphasis, SignInShape } from './sign-in.types';
/**
* O `br-sign-in` padroniza o botão oficial de autenticação da conta gov.br.
*
* Pode ser exibido no formato padrão (bloco com texto) ou no formato circular compacto com `shape="circle"`. Use a propriedade `density` para ajustar a densidade visual.
*
* ```html
*
*
* ```
*
* ### Quando usar
*
* - Ponto de acesso ou login único com a conta Gov.br em serviços públicos federais.
*
* ### Quando evitar
*
* - Ações gerais de formulário (salvar, enviar, cancelar): use `br-button`.
*
* Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/signin?tab=designer).
*
* @category Identidade, Ações, Formulários
* @status stable
* @slot default - Slot para o texto do sign-in.
* @slot icon - Slot para ícone personalizado; em `shape="circle"`, o padrão é um SVG local de usuário.
* @slot image - Slot para imagem ou ícone ao lado do texto.
*
* @part content - Parte para a área de conteúdo/texto do sign-in, usada para estilização via ::part().
* @part image - Parte para a área da imagem/ícone, usada para controle de tamanho via CSS e ::part().
*/
export declare class SignIn {
/**
* Referência ao elemento host do componente.
* Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.
*/
el: HTMLBrSignInElement;
/**
* Identificador único do componente.
* Quando omitido, um valor é gerado automaticamente.
*
* > **Padrão:** valor único gerado por generateUniqueId().
*
*/
customId: string;
/**
* Define se o sign-in usará um esquema de cores escuro, para fundos escuros.
* Quando omitido, ou com valor diferente de `dark`, usa o esquema claro.
*/
colorMode: 'dark';
/**
* Define a densidade visual do componente.
*
* - `small`: Alta densidade (componente menor, mais compacto e com menos espaçamento).
* - `medium`: Densidade intermediária, padrão recomendado para a maioria dos casos.
* - `large`: Baixa densidade (componente maior, mais espaçamento e altura).
*
* Valores inválidos usam `medium`.
*/
density: BrDensity;
/**
* Desabilita a interação com o componente.
*
*/
disabled: boolean;
/**
* Define a ênfase do sign-in, alterando sua aparência para criar hierarquia visual.
*/
emphasis: SignInEmphasis;
/**
* Define o formato do sign-in.
*/
shape: SignInShape;
/**
* URL para onde o usuário será redirecionado ao clicar. Use para login com provedores externos ou em sites tradicionais.
*/
href: string;
/**
* Define onde abrir o link quando href é fornecido.
*/
target: BrLinkTarget;
/**
* Controla como o componente integra a navegação mantendo `href` real no elemento navegável.
* - `native` (padrão): preserva o comportamento do navegador, conforme HTML/W3C.
* - `event`: emite `brNavigate`; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.
* Cliques com modificadores, botão do meio ou `target` diferente de `_self` permanecem nativos.
*/
navigationMode: BrNavigationMode;
/**
* Define o rótulo acessível usado por tecnologias assistivas.
*
*/
ariaLabel: string;
private get effectiveColorMode();
private get effectiveEmphasis();
private get effectiveShape();
private get effectiveTarget();
private get effectiveNavigationMode();
/**
* Evento cancelável emitido em `navigation-mode="event"` para cliques primários sem modificadores em links `_self`.
* Chame `event.preventDefault()` no listener para impedir a navegação nativa e entregar `event.detail.href` ao roteador da SPA.
*/
brNavigate: EventEmitter;
private handleClick;
private handleFocus;
private hasSlotContent;
private getCssClassMap;
private getTagType;
private getAttributes;
render(): any;
}