import '../../assert/js/assert.js';
import '../../globals.js';
/**
 * Control panel around a content node.
 * Dynamically adjusts its size to fit its contents.
 *
 * @author Sam Reid (PhET Interactive Simulations)
 * @author Chris Malley (PixelZoom, Inc.)
 * @author John Blanco (PhET Interactive Simulations)
 */
import { OptionizeDefaults } from '../../phet-core/js/optionize.js';
import { Node, NodeOptions, Rectangle, SizableOptions, TPaint } from '../../scenery/js/imports.js';
declare const ALIGN_VALUES: readonly ["left", "center", "right"];
export type PanelAlign = typeof ALIGN_VALUES[number];
type SelfOptions = {
    fill?: TPaint;
    stroke?: TPaint;
    lineWidth?: number;
    lineDash?: number[];
    xMargin?: number;
    yMargin?: number;
    cornerRadius?: number;
    resize?: boolean;
    backgroundPickable?: boolean;
    align?: PanelAlign;
    minWidth?: number;
    minHeight?: number;
};
type SuperOptions = SizableOptions & NodeOptions;
export type PanelOptions = SelfOptions & SuperOptions;
declare const Panel_base: typeof Node & import("../../phet-core/js/types/Constructor.js").default<import("../../scenery/js/imports.js").TWidthSizable & import("../../scenery/js/imports.js").THeightSizable & {
    validateLocalPreferredSize(): void;
}>;
export default class Panel extends Panel_base {
    private readonly constraint;
    readonly _content: Node;
    readonly _backgroundContainer: Node;
    readonly _background: Rectangle;
    static readonly DEFAULT_PANEL_OPTIONS: OptionizeDefaults<SelfOptions, SuperOptions>;
    constructor(content: Node, providedOptions?: PanelOptions);
    /**
     * Get the background rectangle's stroke (can be overridden)
     */
    getStroke(): TPaint;
    get stroke(): TPaint;
    set stroke(value: TPaint);
    /**
     * Change the background rectangle's stroke (can be overridden)
     */
    setStroke(stroke: TPaint): void;
    /**
     * Get the background rectangle's fill (can be overridden)
     */
    getFill(): TPaint;
    get fill(): TPaint;
    set fill(value: TPaint);
    /**
     * Change the background rectangle's fill (can be overridden)
     */
    setFill(fill: TPaint): void;
    setExcludeInvisibleChildrenFromBounds(excludeInvisibleChildrenFromBounds: boolean): void;
}
export {};
//# sourceMappingURL=Panel.d.ts.map