/**
* 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