import type { PropertyValues } from "lit"; import { LitElement } from "lit"; import "../radio/radio.js"; import type { WarpRadio } from "../radio/radio.js"; import "../icon/icon.js"; import "../tooltip/tooltip.js"; declare const WarpRadioGroup_base: import("@open-wc/form-control").Constructor & typeof LitElement; /** * Radios allow users to select a single option from a list of choices. * * Wrap individual radio components in a radio group. * * [Warp component reference](https://warp-ds.github.io/docs/components/radio/frameworks/elements) * * @slot label - Alternative to the `label` attribute should you need custom HTML. * @slot help-text - Alternative to the `help-text` attribute should you need custom HTML. */ export declare class WarpRadioGroup extends WarpRadioGroup_base { static styles: import("lit").CSSResult[]; /** @internal */ hasInteracted: boolean; private hasWarnedMissingName; private autoTabIndex; /** * Label for the radio group. */ label: string; /** * Help text for the radio group. * * If you set `required` and `invalid` the group gets a default error message, but you can override it with this attribute. */ helpText: string; /** * Whether to show optional text next to the label. */ optional: boolean; /** * Supplementary information that should show in a tooltip behind an information icon after the label. * * You must provide a label to be able to show an info icon with a tooltip. */ tooltip?: string; /** * Marks the radio group as invalid. */ invalid: boolean; /** * The [name](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name) of the select when submitting the form. */ name: string | null; /** * Disables the radio group and all child radios. */ disabled: boolean; /** * Makes selecting a radio in the the group required. */ required: boolean; private defaultCheckedValue; private slottedHelpText; private readonly nameManagedRadios; private readonly disabledManagedRadios; private unsubscribeI18n?; /** @internal */ static shadowRootOptions: { delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry | null; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }; constructor(); /** @internal */ get validationTarget(): WarpRadio | undefined; connectedCallback(): void; disconnectedCallback(): void; updated(changedProperties: PropertyValues): Promise; /** @internal */ resetFormControl(): void; private handleRadioClick; private getAllRadios; private getCheckedValue; private getEnabledRadios; private selectSingleRadio; private handleLabelClick; private handleInvalid; private handleHelpTextSlotChange; private handleI18nChange; private syncRadioElements; private syncRadioDisabledState; private syncTabOrder; private emitSelectionChange; private handleKeyDown; /** @internal */ focus(options?: FocusOptions): void; /** @internal */ checkValidity(): any; /** @internal */ reportValidity(): any; private hasSlottedContent; private syncFormValue; private syncSlottedHelpText; private updateValidity; private normalizeCheckedRadios; private captureDefaultSelection; private syncChildInvalid; private setValidityState; private syncHostTabIndex; private warnIfMissingName; render(): import("lit").TemplateResult<1>; } /** * @deprecated Exported for backwards compatibility only, use `WarpRadioGroup` */ export declare const WRadioGroup: typeof WarpRadioGroup; declare global { interface HTMLElementTagNameMap { "w-radio-group": WarpRadioGroup; } } export {};