import { SettingsCache } from './settingsCache';
interface TableChangedPayload {
    table: string;
    event: 'INSERT' | 'UPDATE' | 'DELETE';
    oldId?: string;
    newId?: string;
    changedColumns?: string[];
}
type OnTableChanged = (callback: (payload: TableChangedPayload) => void) => void;
/**
 * Subscribes to `table_changed` NOTIFYs and invalidates the in-memory settings cache
 * when the settings table changes. The DB-level trigger ensures invalidation also
 * fires for raw SQL and migrations, not just Sequelize writes.
 */
export declare const registerSettingsCacheInvalidator: (onTableChanged: OnTableChanged, cache?: SettingsCache) => void;
export {};
