/** * Consent OAuth Button Web Component * * A styled button for OAuth provider authentication with provider branding. * Supports common OAuth providers with built-in icons. * * @module components/consent-oauth-button */ import { LitElement, TemplateResult } from 'lit'; /** * Supported OAuth providers with built-in styling */ export type OAuthProvider = 'google' | 'microsoft' | 'apple' | 'github' | 'twitter' | 'facebook' | 'custom'; /** * ConsentOAuthButton - OAuth provider sign-in button * * @example * ```html * * * * ``` * * @fires oauth-click - When button is clicked (includes provider and url in detail) * @csspart button - The button element * @csspart icon - The provider icon * @csspart text - The button text */ export declare class ConsentOAuthButton extends LitElement { /** * OAuth provider type */ provider: OAuthProvider; /** * Custom provider name (used when provider='custom') */ providerName?: string; /** * OAuth authorization URL */ url: string; /** * Custom button text (overrides default) */ buttonText?: string; /** * Loading state */ loading: boolean; /** * Disabled state */ disabled: boolean; /** * Full width mode */ fullWidth: boolean; /** * Custom icon SVG string (for custom providers) */ customIcon?: string; /** * Internal state for tracking redirect */ private redirecting; static styles: import("lit").CSSResult; private get config(); private get displayName(); private get displayText(); private handleClick; private renderProviderIcon; protected updated(changedProperties: Map): void; render(): TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'consent-oauth-button': ConsentOAuthButton; } } //# sourceMappingURL=consent-oauth-button.d.ts.map