import { LayeredModelConfigSource } from './layered-model-config-source.js';
import { type Persistable } from '../spi/persistable.js';
import { type ConfigMutator } from '../spi/config-mutator.js';
import { type SchemaDefinition } from '../../schema/migration/api/schema-definition.js';
import { type ObjectStorageBackend } from '../../backend/api/object-storage-backend.js';
import { type ObjectMapper } from '../../mapper/api/object-mapper.js';
import { type Primitive } from '../../../business/utils/primitive.js';
export declare abstract class MutableModelConfigSource<T extends object> extends LayeredModelConfigSource<T> implements Persistable, ConfigMutator {
    protected constructor(key: string, schema: SchemaDefinition<T>, backend: ObjectStorageBackend, mapper: ObjectMapper, prefix?: string);
    persist(): Promise<void>;
    putObject<T>(key: string, value: T): void;
    putObjectArray<T>(key: string, value: T[]): void;
    putScalar(key: string, value: Primitive): void;
    putScalarArray(key: string, value: Primitive[]): void;
}
