import { SvelteComponent } from "svelte"; export type Options = { tenancyId: string; clientId: string; context: Context; endpoint?: string; google: { clientId: string; useOneTap: boolean; }; }; import type { Context } from './context.js'; declare const __propDef: { props: { options: Options; }; events: { principal: CustomEvent; } & { [evt: string]: CustomEvent; }; slots: { default: { click: () => void; submitting: boolean; }; error: { error: string; }; }; exports?: {} | undefined; bindings?: string | undefined; }; export type GoogleProps = typeof __propDef.props; export type GoogleEvents = typeof __propDef.events; export type GoogleSlots = typeof __propDef.slots; /** * Displays a `Sign in with Google` button and an (optional) one-tap prompt. * * **IMPORTANT**: You will need to enter your Google Client ID in your Passlock * settings - https://console.passlock.dev/settings (near the bottom under * 'Social Login') * * ## Passlock integration * When the user signs in, this component interacts with the Passlock backend * to register or authenticate the user. Passlock will handle the id_token * verification. Following a successful sign up event you should see a new * user in your Passlock console. * * Ultimately the component fires a custom 'principal' event, containing the * Passlock Principal. * * ## Duplicate accounts warnings * If the user tries to register or sign in with their Google account but they * already registered a passkey (to the same email address) they will be prompted * to authenticate using their passkey instead. * * ## Custom button for better UX * The sign in with Google code renders a button. This can lead to layout shifts * and the style of the button may not fit in with the rest of the site. We use a * workaround (aka hack) by which we proxy clicks from our own button to the "real" * google button which is hidden. */ export default class Google extends SvelteComponent { } export {};