import { ComponentBase } from '../ComponentBase';
import { RunConfig } from '../../DomRender';
import { OtherData } from '../../lifecycle/OnChangeAttrRender';
import { OnCreateRenderDataParams } from '../../lifecycle/OnCreateRenderData';
export declare namespace Radio {
    export const selector = "System:Radio";
    export type Attribute = {
        class?: string;
    };
    export type LabelAttribute = {
        class?: string;
        name?: string;
        value?: string;
        checked?: boolean;
        on_change_checked?: (checked: boolean, element: HTMLInputElement) => void;
    };
    class RadioBase extends ComponentBase<Attribute> {
        hidden: boolean;
    }
    export class Checked extends RadioBase {
        name: string;
        constructor();
    }
    export class UnChecked extends RadioBase {
        name: string;
        constructor();
    }
    export class Radio extends ComponentBase<LabelAttribute> {
        private checked;
        private inputElement?;
        change(checked?: boolean): void;
        private setChildrenHidden;
        onCreatedThisChild(child: RadioBase, childData: OnCreateRenderDataParams): void;
        onInitInputElement(element: HTMLInputElement): void;
        onChangeAttrRender(name: string, val: any, other: OtherData): void;
    }
    export {};
}
declare const _default: {
    radioChecked: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
    radioUnChecked: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
    radio: (config?: RunConfig) => import("../../configs/TargetElement").TargetElement;
};
export default _default;
//# sourceMappingURL=Radio.d.ts.map