import { LockContext } from '../../db/DBAdapter.js';
import { Schema } from '../../db/schema/Schema.js';
import { type AbstractPowerSyncDatabase } from '../AbstractPowerSyncDatabase.js';
import { CreateDiffTriggerOptions, TrackDiffOptions, TriggerManager, TriggerRemoveCallback } from './TriggerManager.js';
export type TriggerManagerImplOptions = {
    db: AbstractPowerSyncDatabase;
    schema: Schema;
};
export declare class TriggerManagerImpl implements TriggerManager {
    protected options: TriggerManagerImplOptions;
    protected schema: Schema;
    constructor(options: TriggerManagerImplOptions);
    protected get db(): AbstractPowerSyncDatabase;
    protected getUUID(): Promise<string>;
    protected removeTriggers(tx: LockContext, triggerIds: string[]): Promise<void>;
    createDiffTrigger(options: CreateDiffTriggerOptions): Promise<() => Promise<void>>;
    trackTableDiff(options: TrackDiffOptions): Promise<TriggerRemoveCallback>;
}
