import type { AriaHasPopup, ButtonColorMode, ButtonDensity, ButtonEmphasis, ButtonShape, ButtonType } from './button.types'; /** * Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/button?tab=designer). * * @category Ações * @status stable * @slot default - Slot para o rótulo ou conteúdo do botão. * @part button - Parte para o elemento button interno, usada para estilos customizados via ::part(button). */ export declare class Button { elementInternals: ElementInternals; /** * Referência ao elemento host do componente. * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente. */ el: HTMLBrButtonElement; private formDisabled; private nativeButton?; formDisabledCallback(disabled: boolean): void; /** * Define se o botão usará um esquema de cores escuro. */ colorMode?: ButtonColorMode; /** * Identificador único do componente. * Quando omitido, um valor é gerado automaticamente. * * > **Padrão:** valor único gerado por generateUniqueId(). * */ customId: string; /** * 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). * */ density: ButtonDensity; /** * Desabilita a interação com o componente. * */ disabled: boolean; /** * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes. */ emphasis?: ButtonEmphasis; /** * Indica se o botão está no estado ativo. * Se definido como verdadeiro, o botão será exibido como ativo. */ /** @deprecated Use `active`. */ isActive: boolean; /** Estado ativo canônico. Quando informado, tem precedência sobre `isActive`. */ active?: boolean; /** * Aplica o estado de "progresso" ao botão. * O botão exibirá um indicador de carregamento ou progresso. */ /** @deprecated Use `loading`. */ isLoading: boolean; /** Estado de carregamento canônico. Quando informado, tem precedência sobre `isLoading`. */ loading?: boolean; /** * Define o formato do botão. */ shape?: ButtonShape; /** * Define o tipo de botão, especificando seu comportamento padrão. */ type?: ButtonType; /** * Define o valor inicial do botão em um formulário. */ value?: string; /** * Define o índice de tabulação do botão. * Útil para remover o botão da sequência de tabulação (tabindex="-1") quando ele é puramente decorativo ou o foco é gerenciado por um componente pai. */ /** @deprecated Use o atributo/propriedade nativo `tabIndex` do host. */ customTabIndex?: number; /** * Define o rótulo acessível usado por tecnologias assistivas. * */ readonly ariaLabel: string | null; /** * Define o estado de pressionado do botão. * Este atributo é usado para indicar se o botão está atualmente pressionado ou não. * É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado. * O valor deve ser 'true' ou 'false'. */ readonly ariaPressed: string | null; /** * Indica se um elemento controlado pelo botão está expandido ou recolhido. * Use em botões que abrem menus, acordeões ou outros painéis expansíveis. * O valor deve ser 'true' ou 'false'. */ readonly ariaExpanded: string | null; /** * Referência ao ID do elemento que o botão controla. * Use em conjunto com `ariaExpanded` para relacionar o botão ao painel que ele expande/recolhe. */ readonly ariaControls: string | null; /** * Indica que o botão abre um menu, listbox, tree, grid ou dialog. * Os valores permitidos são: 'true', 'menu', 'listbox', 'tree', 'grid' ou 'dialog'. */ readonly ariaHaspopup: AriaHasPopup | null; componentDidLoad(): void; private handleClick; private getCssClassMap; render(): any; }