/**
 * Base class for Joist buttons such as the "home" button and "PhET" button that show custom highlighting on mouseover.
 *
 * @author Sam Reid (PhET Interactive Simulations)
 */
import '../../globals.js';
import type TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import type PickRequired from '../../phet-core/js/types/PickRequired.js';
import type StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import { type VoicingOptions } from '../../scenery/js/accessibility/voicing/Voicing.js';
import Node, { type NodeOptions } from '../../scenery/js/nodes/Node.js';
import Color from '../../scenery/js/util/Color.js';
import PushButtonInteractionStateProperty from '../../sun/js/buttons/PushButtonInteractionStateProperty.js';
import PushButtonModel from '../../sun/js/buttons/PushButtonModel.js';
type SelfOptions = {
    highlightExtensionWidth?: number;
    highlightExtensionHeight?: number;
    highlightCenterOffsetX?: number;
    highlightCenterOffsetY?: number;
    pointerAreaDilationX?: number;
    pointerAreaDilationY?: number;
    listener?: (() => void) | null;
};
type ParentOptions = VoicingOptions & NodeOptions;
export type JoistButtonOptions = SelfOptions & StrictOmit<ParentOptions, 'children'> & PickRequired<ParentOptions, 'tandem'>;
declare const JoistButton_base: typeof Node & import("../../phet-core.js").Constructor<import("../../scenery/js/accessibility/voicing/Voicing.js").TVoicing<Node>>;
export default class JoistButton extends JoistButton_base {
    protected readonly buttonModel: PushButtonModel;
    protected readonly interactionStateProperty: PushButtonInteractionStateProperty;
    private readonly _pressListener;
    /**
     * @param content - the scenery node to render as the content of the button
     * @param navigationBarFillProperty - the color of the navbar, as a string.
     * @param [providedOptions]
     */
    constructor(content: Node, navigationBarFillProperty: TReadOnlyProperty<Color>, providedOptions: JoistButtonOptions);
    /**
     * Is the button currently firing because of accessibility input coming from the PDOM?
     * (pdom)
     */
    isPDOMClicking(): boolean;
}
export {};
//# sourceMappingURL=JoistButton.d.ts.map