import type { DatabaseSync } from 'node:sqlite'; import type { ScenePrincipal } from './contracts.js'; import { type ScenePreferences } from '@xopcai/gateway-contract'; export { scenePreferencesSchema, type ScenePreferences } from '@xopcai/gateway-contract'; /** Owner-scoped choices. Muting presentation never changes check permissions or deletes work. */ export declare class ScenePreferenceService { private readonly db; constructor(db: DatabaseSync); get database(): DatabaseSync; get(principal: ScenePrincipal): ScenePreferences & { revision: number; }; update(principal: ScenePrincipal, value: unknown): ScenePreferences & { revision: number; }; recordPresence(principal: ScenePrincipal, value: unknown, now?: number): void; private assertPrincipal; } export declare function sceneChecksAllowed(preferences: ScenePreferences, now: number): boolean;