import type { DividerAlign, DividerBorderStyle, DividerOrientation, DividerThickness } from './divider.types';
/**
* O `br-divider` é uma linha que separa seções ou grupos de conteúdo. Pode ser horizontal ou vertical e ter um texto no meio.
*
* ```html
*
*
* ou
*
*
* ```
*
* ### Quando usar
*
* - Marcar o fim de um bloco e o início de outro.
* - Separar alternativas, como "Entrar com gov.br" ou "Entrar com certificado digital".
*
* ### Quando evitar
*
* - Quando o espaço em branco já separa bem o conteúdo.
*
* Consulte as [diretrizes de design do GovBR](https://www.gov.br/ds/components/divider?tab=designer).
*
* @category Layout, Estrutura
* @status stable
* @slot default - Slot opcional para conteúdo dentro do divisor (texto, ícones ou elementos personalizados).
*
* @part divider - Elemento principal do divisor.
* @part content - Conteúdo do divisor (quando há slot).
*/
export declare class Divider {
el: HTMLBrDividerElement;
private hasContent;
/**
* Identificador único do componente.
* Quando omitido, um valor é gerado automaticamente.
*
* > **Padrão:** valor único gerado por generateUniqueId().
*
*/
customId: string;
/**
* Orientação do divisor. Em modo vertical, posicione dentro de um container com `display: flex`. Valores inválidos usam `horizontal`.
*/
orientation: DividerOrientation;
/**
* Espessura visual do divisor. Valores inválidos usam `small`.
*/
thickness: DividerThickness;
/**
* Estilo de borda do divisor. Valores inválidos usam `solid`.
*/
borderStyle: DividerBorderStyle;
/**
* Ativa variante de alto contraste para fundos escuros.
*
* @deprecated Use `colorMode`.
*/
isDarkMode: boolean;
/** Esquema de cor padrão. Quando informado, tem precedência sobre `isDarkMode`; valores inválidos usam `light`. */
colorMode?: 'light' | 'dark';
/**
* Cor do divisor.
* Aceita os seguintes formatos de cor:
* - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.
* - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.
* - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.
* - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.
* - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.
* - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.
* Se não definida, usa a cor padrão do tema.
*/
color: string;
/**
* Alinhamento do conteúdo quando há slot interno. Valores inválidos são ignorados.
*/
align: DividerAlign;
/**
* Faz o divisor ocupar toda a largura do container, compensando paddings laterais.
*/
bleed: boolean;
/**
* Margin top em pixels; se omitido, aplica padrão interno.
* Deve ser um número finito; valores inválidos usam 0.
*/
marginTop: number;
/**
* Margin bottom em pixels; se omitido, aplica padrão interno.
* Deve ser um número finito; valores inválidos usam 0.
*/
marginBottom: number;
/**
* Margin left em pixels; se omitido, aplica padrão interno.
* Deve ser um número finito; valores inválidos usam 0.
*/
marginLeft: number;
/**
* Margin right em pixels; se omitido, aplica padrão interno.
* Deve ser um número finito; valores inválidos usam 0.
*/
marginRight: number;
private get effectiveMarginTop();
private get effectiveMarginBottom();
private get effectiveMarginLeft();
private get effectiveMarginRight();
private readonly handleResize;
/**
* Watcher para a cor do divisor.
* Atualiza a propriedade CSS '--border-color' do elemento para refletir a cor definida.
* Isso permite que o divisor use cores personalizadas sem precisar de estilos adicionais.
*/
updateColor(): void;
/**
* Watcher para as propriedades de margin.
* Atualiza as propriedades CSS customizáveis do elemento para refletir os margins definidos.
*/
updateMargins(): void;
/**
* Ciclo de vida do componente.
* Chamado quando o componente é conectado ao DOM.
*/
connectedCallback(): void;
/**
* Ciclo de vida do componente.
* Chamado quando o componente é desconectado do DOM.
*/
disconnectedCallback(): void;
/**
* Ciclo de vida do componente.
* Chamado após o componente ser renderizado no DOM.
*/
componentDidLoad(): void;
/**
* Configura o divisor para sangrar (bleed) nas laterais.
*/
private setBleed;
/**
* Remove o sangramento (bleed) do divisor.
*/
private unsetBleed;
/**
* Verifica se o divisor tem conteúdo no slot padrão.
* @returns true se o divisor tiver conteúdo no slot padrão, false caso contrário.
*/
private hasDefaultSlotContent;
/**
* Determina o paddingLeft e paddingRight do elemento pai do host.
* @returns Um objeto contendo os valores de paddingLeft e paddingRight do elemento pai do host.
*/
private getHostParentPadding;
/**
* Aplica margens negativas no elemento raiz do divisor para compensar o padding do elemento pai.
* Isso é necessário quando o divisor está configurado para sangrar (bleed).
* IMPORTANTE: Preserva as variáveis CSS customizadas de margin.
*/
private applyMarginOnRootElement;
/**
* Define as classes CSS que serão aplicadas ao divisor.
* @returns Uma string contendo as classes CSS que serão aplicadas ao divisor.
*/
private getCssClassMap;
private get effectiveOrientation();
private get effectiveThickness();
private get effectiveBorderStyle();
private get effectiveColorMode();
private get effectiveAlign();
/**
* Renderiza o divisor quando há conteúdo no slot padrão.
* @returns JSX.Element
*/
private renderDefaultSlotDivider;
/**
* Renderiza o divisor quando não há conteúdo no slot padrão.
* @returns JSX.Element
*/
private renderStandardDivider;
render(): any;
}