export default TrailVisibilityTracker;
declare class TrailVisibilityTracker {
    /**
     * @param {Trail} trail - the Trail to track visibility
     * @param {Object } [options]
     */
    constructor(trail: Trail, options?: Object | undefined);
    isStatic: any;
    trail: Trail;
    _listeners: any[];
    trailVisibleProperty: TinyProperty<any>;
    _nodeVisibilityListeners: (() => void)[];
    boundTrailVisibilityChangedListener: () => void;
    /**
     * Adds a listener function that will be synchronously called whenever the visibility this Trail changes.
     * @public
     *
     * @param {Function} listener - Listener will be called with no arguments.
     */
    public addListener(listener: Function): void;
    /**
     * Removes a listener that was previously added with addListener().
     * @public
     *
     * @param {Function} listener
     */
    public removeListener(listener: Function): void;
    /**
     * @public
     */
    public dispose(): void;
    /**
     * When visibility of the Trail is changed, notify listeners.
     * @private
     */
    private onVisibilityChange;
    /**
     * Notify listeners to a change in visibility.
     * @private
     */
    private notifyListeners;
}
import TinyProperty from '../../../axon/js/TinyProperty.js';
//# sourceMappingURL=TrailVisibilityTracker.d.ts.map