export class StubProjectConfigGateway {
    store = new Map();
    backupCallCount = 0;
    writeCallCount = 0;
    failNextWrite = false;
    exists(projectPath) {
        return this.store.has(projectPath);
    }
    read(projectPath) {
        return this.store.get(projectPath) ?? null;
    }
    write(projectPath, config) {
        if (this.failNextWrite) {
            this.failNextWrite = false;
            throw new Error('EACCES: permission denied');
        }
        this.writeCallCount++;
        this.store.set(projectPath, { ...config });
    }
    backup(projectPath) {
        if (!this.store.has(projectPath))
            return null;
        this.backupCallCount++;
        return `${projectPath}/.claude/reviews/config.json.bak`;
    }
    seedExisting(projectPath) {
        this.store.set(projectPath, { preset: 'backend', language: 'en', agents: ['architecture'] });
    }
}
//# sourceMappingURL=projectConfig.stub.js.map