export declare class StateTracker<T, K = string> extends Map<K, T> {
    protected readonly defaultValue?: T | undefined;
    protected readonly defaultState?: K | undefined;
    protected cachedState?: K;
    protected cachedValue?: T;
    constructor(defaultValue?: T | undefined, defaultState?: K | undefined);
    set(key: K, value?: T): this;
    delete(key: K): boolean;
    stateId(): K | undefined;
    stateValue(): T | undefined;
}
export declare class NonNullableStateTracker<T, K = string> extends StateTracker<T, K> {
    protected readonly defaultValue: T;
    protected readonly defaultState: K;
    constructor(defaultValue: T, defaultState: K);
    stateId(): K;
    stateValue(): T;
}
