import '../../assert/js/assert.js';
import '../../globals.js';
import PhetioProperty from '../../axon/js/PhetioProperty.js';
import TEmitter from '../../axon/js/TEmitter.js';
import PickOptional from '../../phet-core/js/types/PickOptional.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import { FlowBox, FlowBoxOptions, ParallelDOMOptions, TrimParallelDOMOptions } from '../../scenery/js/imports.js';
import AquaRadioButton, { AquaRadioButtonOptions } from './AquaRadioButton.js';
import GroupItemOptions from './GroupItemOptions.js';
type SelfOptions = {
    radioButtonOptions?: StrictOmit<AquaRadioButtonOptions, 'soundPlayer' | 'tandem'>;
    touchAreaXDilation?: number;
    touchAreaYDilation?: number;
    mouseAreaXDilation?: number;
    mouseAreaYDilation?: number;
};
type TrimmedParentOptions = TrimParallelDOMOptions<FlowBoxOptions> & PickOptional<ParallelDOMOptions, 'labelTagName'>;
export type AquaRadioButtonGroupOptions = SelfOptions & StrictOmit<TrimmedParentOptions, 'children'>;
export type AquaRadioButtonGroupItem<T> = {
    value: T;
    options?: StrictOmit<AquaRadioButtonOptions, 'tandem'>;
} & GroupItemOptions;
export default class AquaRadioButtonGroup<T> extends FlowBox {
    private readonly radioButtons;
    readonly onInputEmitter: TEmitter;
    private readonly disposeAquaRadioButtonGroup;
    constructor(property: PhetioProperty<T>, items: AquaRadioButtonGroupItem<T>[], providedOptions?: AquaRadioButtonGroupOptions);
    private onRadioButtonInput;
    dispose(): void;
    /**
     * Gets the radio button that corresponds to the specified value.
     */
    getButton(value: T): AquaRadioButton<T>;
}
export {};
//# sourceMappingURL=AquaRadioButtonGroup.d.ts.map