import { AnsiLogger } from 'matterbridge/logger';
import { MaybePromise } from 'matterbridge/matter';
type ChangedKey = string | symbol;
export declare class Changed {
    readonly log: AnsiLogger;
    readonly prevValues: Map<ChangedKey, unknown>;
    constructor(log: AnsiLogger);
    isChanged(key: ChangedKey, newValue: unknown): boolean;
    setLast(key: ChangedKey, value: unknown): void;
    flush(key?: ChangedKey): void;
}
export declare function ifValueChanged<T extends {
    changed: Changed;
}, V, R extends MaybePromise>(originalMethod: (this: T, value: V) => R, context: ClassMethodDecoratorContext): (this: T, value: V) => R;
export {};
//# sourceMappingURL=decorator-changed.d.ts.map