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

/**
 * @summary Radios allow the user to select a single option from a group.
 * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio--docs
 * @status stable
 * @since 2.0
 *
 * @dependency syn-icon
 *
 * @slot - The radio's label.
 *
 * @event syn-blur - Emitted when the control loses focus.
 * @event syn-focus - Emitted when the control gains focus.
 *
 * @csspart base - The component's base wrapper.
 * @csspart control - The circular container that wraps the radio's checked state.
 * @csspart control--checked - The radio control when the radio is checked.
 * @csspart checked-icon - The checked icon, an `<syn-icon>` element.
 * @csspart label - The container that wraps the radio's label.
 */
declare class SynRadioComponent {
    nativeElement: SynRadio;
    private _ngZone;
    constructor(e: ElementRef, ngZone: NgZone);
    /**
     * The radio's value.
     * When selected, the radio group will receive this value.
     */
    set value(v: SynRadio['value']);
    get value(): SynRadio['value'];
    /**
  * The radio'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: SynRadio['size']);
    get size(): SynRadio['size'];
    /**
     * Disables the radio.
     */
    set disabled(v: '' | SynRadio['disabled']);
    get disabled(): SynRadio['disabled'];
    /**
     * Emitted when the control loses focus.
     */
    synBlurEvent: EventEmitter<SynBlurEvent>;
    /**
     * Emitted when the control gains focus.
     */
    synFocusEvent: EventEmitter<SynFocusEvent>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SynRadioComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SynRadioComponent, "syn-radio", never, { "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "synBlurEvent": "synBlurEvent"; "synFocusEvent": "synFocusEvent"; }, never, ["*"], true, never>;
}

export { SynRadioComponent };
