import { LitElement } from '../../../../../node_modules/lit'; import { SbAuthProvider } from '../../../../types'; import { ProviderButtonContent, ProviderButtonIconAlign, ProviderButtonSize, ProviderButtonVariant } from '../button/button.types'; import { ProviderFieldOverride, ProviderFieldProps } from './provider-field.types'; /** * A wrapper field, containing and styling auth provider buttons. * @element sb-provider-field * * @part provider-field (rtg-field) * @part provider-field-button (sb-provider-button) */ export declare class SbProviderField extends LitElement implements ProviderFieldProps { private static readonly _ROOT; private static readonly _BUTTON; /** * The stable CSS part names exposed for external targeting. */ static get parts(): { root: string; button: string; }; /** * A unique value used as a substring in the generated part/child IDs, when * the `child-id` prop is not provided. */ seed: string; /** * The `id` value given to the root child/part and used as the base of other * child/part IDs. */ customId?: string; /** * The providers included as provider buttons in this field. */ providers: SbAuthProvider[]; /** * The `content` prop passed to each of the provider buttons. */ content?: ProviderButtonContent; /** * The `variant` prop passed to each of the provider buttons. */ variant?: ProviderButtonVariant; /** * The `size` prop passed to each of the provider buttons. */ size?: ProviderButtonSize; /** * The `prompt` prop passed to each of the provider buttons. */ prompt?: string; /** * The `icon-align` prop passed to each of the provider buttons. */ iconAlign?: ProviderButtonIconAlign; /** * The `label` prop passed to each of the provider buttons. */ label?: string; /** * The `disabled` prop passed to each of the provider buttons. */ disabled?: boolean; /** * The `loading` prop passed to each of the provider buttons. */ loading?: boolean; /** * The `event` prop passed to each of the provider buttons. */ event?: string; /** * A list of provider-specific prop overrides. */ overrides: ProviderFieldOverride[]; /** * Overrides default behavior to render into light DOM. */ protected createRenderRoot(): this; /** * The `id` of the root element. Equal to `customId` when provided, otherwise * derived from the component's part name and `seed`. */ get rootId(): string; /** * The `id` of the provider button element, derived from `rootId` with the * button part name appended. */ get buttonId(): string; /** * The number of columns within the field, given to the root element via its * `data-columns` attribute. In hyphenated values (e.g. `"two-three"`), the * first part is the number of columns in the first row, and the second part * is the number of columns in the second row. */ get columns(): "one" | "three" | "two-three" | "three-four" | "four"; /** * The `providers` array without any duplicates. */ private get _providers(); /** * The `overrides` array without any duplicate `provider` entries (i.e. no * two override items have the same `provider` value). */ private get _overrides(); /** * Returns the template for the button part, specifically an * `sb-provider-button` element with props originating from `overrides` * if given, otherwise the general prop given to this field component. */ private _renderButton; render(): import('../../../../../node_modules/lit-html').TemplateResult<1>; }