import { EventEmitter } from '../../stencil-public-runtime';
import { RadioGroupChangeEventDetail } from './radio-group-interface';
/**
 * @slot (default) - Child pds-radio components
 */
export declare class PdsRadioGroup {
    el: HTMLPdsRadioGroupElement;
    /**
     * A unique identifier used for the underlying component `id` attribute.
     */
    componentId: string;
    /**
     * Stable group ID generated once during component initialization.
     * Used to maintain DOM stability and accessibility relationships across re-renders.
     */
    private _groupId;
    /**
     * Layout direction for the radio group.
     * @defaultValue column
     */
    direction: 'row' | 'column';
    /**
     * Displays error message text describing an invalid state for the entire group.
     */
    errorMessage: string;
    /**
     * Displays helper message text below the radio group.
     */
    helperMessage: string;
    /**
     * Spacing between radio items. Accepts t-shirt sizes (none, xxs, xs, sm, md, lg, xl, xxl) or core spacing tokens (025, 050, 100, etc.).
     * @defaultValue xs
     */
    gap: string;
    /**
     * Determines whether or not the radio group is disabled.
     * @defaultValue false
     */
    disabled: boolean;
    /**
     * Determines whether or not the radio group is invalid.
     * @defaultValue false
     */
    invalid: boolean;
    /**
     * String used for group label/heading.
     */
    groupLabel: string;
    /**
     * String used for radio `name` attribute. Applied to all child radios.
     * Required for proper radio group behavior (mutual exclusivity and form submission).
     */
    name: string;
    /**
     * Determines whether or not the radio group is required.
     * @defaultValue false
     */
    required: boolean;
    /**
     * Emits when a radio in the group is selected, providing the selected value and component ID.
     */
    pdsRadioGroupChange: EventEmitter<RadioGroupChangeEventDetail>;
    handlePropsChange(): void;
    handleRadioChange(event: Event): void;
    private updateChildRadios;
    componentWillLoad(): void;
    componentDidLoad(): void;
    private classNames;
    private getGapValue;
    private getAriaDescribedBy;
    render(): any;
}
