import '../../globals.js';
import TRangedProperty from '../../axon/js/TRangedProperty.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import FlowBox, { FlowBoxOptions } from '../../scenery/js/layout/nodes/FlowBox.js';
import Node from '../../scenery/js/nodes/Node.js';
import RectangularPushButton, { RectangularPushButtonOptions } from '../../sun/js/buttons/RectangularPushButton.js';
type SelfOptions = {
    applyZoomIn?: (currentZoom: number) => number;
    applyZoomOut?: (currentZoom: number) => number;
    buttonOptions?: StrictOmit<RectangularPushButtonOptions, 'content' | 'listener' | 'tandem'>;
    touchAreaXDilation?: number;
    touchAreaYDilation?: number;
    mouseAreaXDilation?: number;
    mouseAreaYDilation?: number;
};
export type ZoomButtonGroupOptions = SelfOptions & StrictOmit<FlowBoxOptions, 'children'>;
export default class ZoomButtonGroup extends FlowBox {
    readonly zoomInButton: RectangularPushButton;
    readonly zoomOutButton: RectangularPushButton;
    private readonly disposeZoomButtonGroup;
    /**
     * @param zoomLevelProperty - smaller value means more zoomed out
     * @param zoomInIcon
     * @param zoomOutIcon
     * @param providedOptions?
     */
    protected constructor(zoomLevelProperty: TRangedProperty, zoomInIcon: Node, zoomOutIcon: Node, providedOptions?: ZoomButtonGroupOptions);
    dispose(): void;
}
export {};
