import '../../assert/js/assert.js';
import '../../globals.js';
import { PhetioObjectOptions } from '../../tandem/js/PhetioObject.js';
import Disposable, { DisposableOptions } from './Disposable.js';
import { EnabledPropertyOptions } from './EnabledProperty.js';
import TProperty from './TProperty.js';
import TReadOnlyProperty from './TReadOnlyProperty.js';
type SelfOptions = {
    enabledProperty?: TReadOnlyProperty<boolean> | null;
    enabled?: boolean;
    enabledPropertyOptions?: EnabledPropertyOptions | null;
    phetioEnabledPropertyInstrumented?: boolean;
} & Pick<PhetioObjectOptions, 'tandem'>;
export type EnabledComponentOptions = SelfOptions & DisposableOptions;
export default class EnabledComponent extends Disposable {
    enabledProperty: TProperty<boolean>;
    private disposeEnabledComponent;
    constructor(providedOptions?: EnabledComponentOptions);
    private setEnabled;
    set enabled(value: boolean);
    get enabled(): boolean;
    isEnabled(): boolean;
    dispose(): void;
}
export {};
//# sourceMappingURL=EnabledComponent.d.ts.map