import { KeyValueOptions } from './types';
import { KeyValueUpdate } from './services';
import { IKosDataModel, IKosIdentifiable, KosCreationContext, KosData, PublicModelInterface } from '../../../core';

export declare const MODEL_TYPE = "key-value-model";
export type KeyValueModel = PublicModelInterface<KeyValueModelImpl>;
export declare class KeyValueModelImpl implements IKosDataModel, IKosIdentifiable {
    id: string;
    private logger;
    private namespace;
    data: KosData<Record<string, string | number | boolean | undefined>>;
    constructor(modelId: string, options: KeyValueOptions, context: KosCreationContext);
    init(): Promise<void>;
    updateState(key: string, value: string | number | boolean | undefined): Promise<void>;
    load(): Promise<void>;
    handleStateUpdate(update: KeyValueUpdate): void;
    handleStateDelete(update: KeyValueUpdate): void;
}
//# sourceMappingURL=key-value-model.d.ts.map