import * as i0 from '@angular/core';
import { ElementRef, NgZone, EventEmitter } from '@angular/core';
import { SynRadioButton, SynBlurEvent, SynFocusEvent } from '@synergy-design-system/components';
export { SynBlurEvent, SynFocusEvent } from '@synergy-design-system/components';

/**
 * @summary Radios buttons allow the user to select a single option from a group using a button-like control.
 * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio-button--docs
 * @status stable
 * @since 2.0
 *
 * @slot - The radio button's label.
 * @slot prefix - A presentational prefix icon or similar element.
 * @slot suffix - A presentational suffix icon or similar element.
 *
 * @event syn-blur - Emitted when the button loses focus.
 * @event syn-focus - Emitted when the button gains focus.
 *
 * @csspart base - The component's base wrapper.
 * @csspart button - The internal `<button>` element.
 * @csspart button--checked - The internal button element when the radio button is checked.
 * @csspart prefix - The container that wraps the prefix.
 * @csspart label - The container that wraps the radio button's label.
 * @csspart suffix - The container that wraps the suffix.
 */
declare class SynRadioButtonComponent {
    nativeElement: SynRadioButton;
    private _ngZone;
    constructor(e: ElementRef, ngZone: NgZone);
    /**
     * The radio's value.
     * When selected, the radio group will receive this value.
     */
    set value(v: SynRadioButton['value']);
    get value(): SynRadioButton['value'];
    /**
     * Disables the radio button.
     */
    set disabled(v: '' | SynRadioButton['disabled']);
    get disabled(): SynRadioButton['disabled'];
    /**
  * The radio button's size.
  * When used inside a radio group, the size will be determined by the radio group's size so
  this attribute can typically be omitted.
   */
    set size(v: SynRadioButton['size']);
    get size(): SynRadioButton['size'];
    /**
     * Draws a pill-style radio button with rounded edges.
     */
    set pill(v: '' | SynRadioButton['pill']);
    get pill(): SynRadioButton['pill'];
    /**
     * Emitted when the button loses focus.
     */
    synBlurEvent: EventEmitter<SynBlurEvent>;
    /**
     * Emitted when the button gains focus.
     */
    synFocusEvent: EventEmitter<SynFocusEvent>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SynRadioButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SynRadioButtonComponent, "syn-radio-button", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "pill": { "alias": "pill"; "required": false; }; }, { "synBlurEvent": "synBlurEvent"; "synFocusEvent": "synFocusEvent"; }, never, ["*"], true, never>;
}

export { SynRadioButtonComponent };
