/**
* Consent Button Web Component
*
* A styled button for consent pages that works in:
* - Browser (vanilla HTML)
* - React (via @lit/react wrapper)
* - SSR (Declarative Shadow DOM)
*
* @module components/consent-button
*/
import { LitElement } from 'lit';
/**
* Button variants matching AgentShield design system
*/
export type ButtonVariant = 'primary' | 'secondary';
/**
* ConsentButton - A themed button component
*
* @example
* ```html
* Allow Access
* Cancel
* ```
*
* @csspart button - The native button element
* @cssprop --consent-primary - Primary brand color (default: #2563EB)
*/
export declare class ConsentButton extends LitElement {
static formAssociated: boolean;
private internals;
constructor();
/**
* Button variant - 'primary' (filled) or 'secondary' (outlined)
*/
variant: ButtonVariant;
/**
* Button type attribute (button, submit, reset)
*/
type: 'button' | 'submit' | 'reset';
/**
* Disabled state
*/
disabled: boolean;
/**
* Full width mode
*/
fullWidth: boolean;
/**
* Loading state - shows spinner and disables button
*/
loading: boolean;
static styles: import("lit").CSSResult;
private handleClick;
render(): import("lit").TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'consent-button': ConsentButton;
}
}
//# sourceMappingURL=consent-button.d.ts.map