import '../../chipper/js/initialize-globals.js';
import '../../assert/js/assert.js';
import '../../globals.js';
import Property from '../../axon/js/Property.js';
import { TReadOnlyEmitter } from '../../axon/js/TEmitter.js';
import Dimension2 from '../../dot/js/Dimension2.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import { Node, NodeOptions, TColor } from '../../scenery/js/imports.js';
type SelfOptions = {
    size?: Dimension2 | null;
    cornerRadius?: number;
    xMargin?: number;
    yMargin?: number;
    open?: boolean;
    handlePosition?: 'top' | 'bottom';
    handleSize?: Dimension2;
    handleCornerRadius?: number;
    handleFill?: TColor;
    handleTouchAreaXDilation?: number;
    handleTouchAreaYDilation?: number;
    handleMouseAreaXDilation?: number;
    handleMouseAreaYDilation?: number;
    grippyDotRadius?: number;
    grippyDotColor?: TColor;
    grippyDotRows?: number;
    grippyDotColumns?: number;
    grippyDotXSpacing?: number;
    grippyDotYSpacing?: number;
    beforeOpen?: () => void;
    afterClose?: () => void;
    animationEnabled?: boolean;
    animationDuration?: number;
    stepEmitter?: TReadOnlyEmitter<[number]> | null;
};
export type DrawerOptions = SelfOptions & StrictOmit<NodeOptions, 'children' | 'clipArea'>;
export default class Drawer extends Node {
    readonly openProperty: Property<boolean>;
    readonly contentsNode: Node;
    private _animationEnabled;
    private readonly disposeDrawer;
    /**
     * @param contentsNode - contents of the drawer
     * @param provideOptions
     */
    constructor(contentsNode: Node, provideOptions?: DrawerOptions);
    dispose(): void;
    /**
     * @param [animationEnabled]
     */
    reset(animationEnabled?: boolean): void;
    /**
     * Determines whether animation is enabled for opening/closing drawer.
     */
    setAnimationEnabled(animationEnabled: boolean): void;
    set animationEnabled(value: boolean);
    get animationEnabled(): boolean;
    /**
     * Is animation enabled for opening/closing drawer?
     */
    getAnimationEnabled(): boolean;
}
export {};
//# sourceMappingURL=Drawer.d.ts.map