import '../../chipper/js/initialize-globals.js';
import '../../assert/js/assert.js';
import '../../tandem/js/PhetioIDUtils.js';
import '../../globals.js';
/**
 * Checkbox is a typical checkbox UI component.
 *
 * @author Chris Malley (PixelZoom, Inc.)
 */
import PhetioProperty from '../../axon/js/PhetioProperty.js';
import Bounds2 from '../../dot/js/Bounds2.js';
import { Shape } from '../../kite/js/imports.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import { Node, NodeOptions, TPaint, VoicingOptions, WidthSizableOptions } from '../../scenery/js/imports.js';
import TSoundPlayer from '../../tambo/js/TSoundPlayer.js';
import { TAlertable } from '../../utterance-queue/js/Utterance.js';
type SelfOptions = {
    spacing?: number;
    boxWidth?: number;
    checkboxColor?: TPaint;
    checkboxColorBackground?: TPaint;
    touchAreaXDilation?: number;
    touchAreaYDilation?: number;
    mouseAreaXDilation?: number;
    mouseAreaYDilation?: number;
    checkedSoundPlayer?: TSoundPlayer;
    uncheckedSoundPlayer?: TSoundPlayer;
    checkedContextResponse?: TAlertable;
    uncheckedContextResponse?: TAlertable;
    voiceNameResponseOnSelection?: boolean;
    voicingCheckedObjectResponse?: TAlertable;
    voicingUncheckedObjectResponse?: TAlertable;
    phetioLinkProperty?: boolean;
};
type ParentOptions = WidthSizableOptions & VoicingOptions & NodeOptions;
export type CheckboxOptions = SelfOptions & StrictOmit<ParentOptions, 'children' | 'mouseArea' | 'touchArea'>;
declare const Checkbox_base: typeof Node & import("../../phet-core/js/types/Constructor.js").default<import("../../scenery/js/imports.js").TVoicing<Node>> & import("../../phet-core/js/types/Constructor.js").default<import("../../scenery/js/imports.js").TWidthSizable>;
export default class Checkbox extends Checkbox_base {
    private readonly backgroundNode;
    private readonly checkedNode;
    private readonly uncheckedNode;
    private readonly disposeCheckbox;
    _isMouseAreaCustomized: boolean;
    _isTouchAreaCustomized: boolean;
    _isSettingAreas: boolean;
    private readonly constraint;
    constructor(property: PhetioProperty<boolean>, content: Node, providedOptions?: CheckboxOptions);
    dispose(): void;
    /**
     * Sets the background color of the checkbox.
     */
    setCheckboxColorBackground(value: TPaint): void;
    set checkboxColorBackground(value: TPaint);
    get checkboxColorBackground(): TPaint;
    /**
     * Gets the background color of the checkbox.
     */
    getCheckboxColorBackground(): TPaint;
    /**
     * Sets the color of the checkbox.
     */
    setCheckboxColor(value: TPaint): void;
    set checkboxColor(value: TPaint);
    get checkboxColor(): TPaint;
    /**
     * Gets the color of the checkbox.
     */
    getCheckboxColor(): TPaint;
    setMouseArea(area: Shape | Bounds2 | null): this;
    setTouchArea(area: Shape | Bounds2 | null): this;
}
export {};
//# sourceMappingURL=Checkbox.d.ts.map