import '../../../globals.js';
/**
 * Type to annotate the constructor signature of ButtonAppearanceStrategy
 * @author Michael Kauzmann (PhET Interactive Simulations)
 */
import { Color, TPaint, Path } from '../../../scenery/js/imports.js';
import TReadOnlyProperty from '../../../axon/js/TReadOnlyProperty.js';
import ButtonInteractionState from './ButtonInteractionState.js';
import RadioButtonInteractionState from './RadioButtonInteractionState.js';
export type TButtonAppearanceStrategyOptions = {
    stroke?: TPaint;
    lineWidth?: number;
    overFill?: TPaint;
    overStroke?: TPaint;
    overLineWidth?: number;
    overButtonOpacity?: number;
    selectedStroke?: TPaint;
    selectedLineWidth?: number;
    selectedButtonOpacity?: number;
    deselectedFill?: TPaint | null;
    deselectedStroke?: TPaint;
    deselectedLineWidth?: number;
    deselectedButtonOpacity?: number;
};
type TButtonAppearanceStrategy = {
    new (content: Path, interactionStateProperty: TReadOnlyProperty<ButtonInteractionState | RadioButtonInteractionState>, baseColorProperty: TReadOnlyProperty<Color>, options?: TButtonAppearanceStrategyOptions): {
        dispose?: () => void;
        maxLineWidth: number;
    };
};
export default TButtonAppearanceStrategy;
//# sourceMappingURL=TButtonAppearanceStrategy.d.ts.map