import { LitElement } from '../../../../../node_modules/lit'; import { SbAuthProvider } from '../../../../types'; import { SbProviderButtonProps as Props, ProviderButtonContent, ProviderButtonIconAlign, ProviderButtonPart, ProviderButtonSize, ProviderButtonVariant } from './button.types'; /** * Button that triggers an authentication flow with a specific auth provider. * * @part provider-button - rtg-button: root * @part provider-button-icon - svg/rtg-spinner: icon or loading indicator * * @event sb-provider-button:click - Fired when the button is clicked, before the auth call. * Detail: `{ id: string; provider: SbAuthProvider; event?: string }` * @event sb-provider-button:success - Fired after the auth call resolves successfully. * Detail: `{ id: string; provider: SbAuthProvider; event: string; result: ProcessEventResponse }` * @event sb-provider-button:error - Fired when the auth call fails. * Detail: `{ id: string; provider: SbAuthProvider; event: string; message: string }` */ export declare class SbProviderButton extends LitElement implements Props { static readonly ROOT = "provider-button"; static readonly ICON = "icon"; static readonly TAG: string; static readonly CLICK_EVENT: string; static readonly SUCCESS_EVENT: string; static readonly ERROR_EVENT: string; static readonly PARTS: Record; /** * Substring used in generated part IDs. */ seed: string; /** * Custom ID used as the root part ID and as the base of subpart IDs. */ customId?: string; /** * Authentication provider targetted by the button. */ provider: SbAuthProvider; /** * Visual variant of the button component. */ variant: ProviderButtonVariant; /** * Size of the button component. */ size: ProviderButtonSize; /** * Controls what the button renders: icon only, label only, or both. */ content: ProviderButtonContent; /** * Side the icon appears on relative to the label. */ iconAlign: ProviderButtonIconAlign; /** * Text prepended to the provider name in the default label. * Ignored when `label` is set explicitly. */ private _prompt; get prompt(): string; set prompt(value: string); /** * Custom label text that replaces default `prompt + provider name` string. */ label?: string; /** * Event identifier forwarded to the authentication service on click. * When omitted, only the custom click event is dispatched. */ event?: string; /** * Disables the button, preventing interaction. */ disabled?: boolean; /** * Manual alternative to the private `_loading` state. */ loading?: boolean; /** * Indicates whether the component is dispatching or emitting an event. */ private _loading; protected createRenderRoot(): this; get rootId(): string; get iconId(): string; get isLoading(): boolean; get isDisabled(): boolean; connectedCallback(): void; disconnectedCallback(): void; private _handleClick; private _renderIcon; render(): import('../../../../../node_modules/lit-html').TemplateResult<1>; }