import '../../globals.js';
import TinyProperty from './TinyProperty.js';
import { PropertyLinkListener } from './TReadOnlyProperty.js';
export default class TinyStaticProperty<T> extends TinyProperty<T> {
    private readonly onAccessAttempt;
    constructor(value: T, onAccessAttempt: () => void);
    /**
     * Returns the value. Overridden to support onAccessAttempt.
     */
    get(): T;
    /**
     * Don't set the value of a TinyStaticProperty!
     */
    set(value: T): void;
    /**
     * Returns true if the value can be set externally. Static Property values should only be mutated, not set.
     */
    isSettable(): boolean;
    /**
     * Directly notifies listeners of changes.
     */
    notifyListeners(oldValue: T | null): void;
    /**
     * Adds listener and calls it immediately. If listener is already registered, this is a no-op. The initial
     * notification provides the current value for newValue and null for oldValue.
     */
    link(listener: PropertyLinkListener<T>): void;
    /**
     * Returns true if and only if the specified value equals the value of this property
     */
    protected equalsValue(value: T): boolean;
}
//# sourceMappingURL=TinyStaticProperty.d.ts.map