import { LayeredConfigSource } from './layered-config-source.js';
import { type ObjectMapper } from '../../mapper/api/object-mapper.js';
import { type SchemaDefinition } from '../../schema/migration/api/schema-definition.js';
import { type ObjectStorageBackend } from '../../backend/api/object-storage-backend.js';
import { type ModelConfigSource } from '../spi/model-config-source.js';
export declare abstract class LayeredModelConfigSource<T extends object> extends LayeredConfigSource implements ModelConfigSource<T> {
    protected readonly key: string;
    readonly schema: SchemaDefinition<T>;
    private _modelData;
    get modelData(): T;
    protected set modelData(value: T);
    protected constructor(key: string, schema: SchemaDefinition<T>, backend: ObjectStorageBackend, mapper: ObjectMapper, prefix?: string);
    load(): Promise<void>;
}
