export type CounterCacheParentUpdateListener = (parent: import("./index.js").default, previousParent: import("./index.js").default | undefined) => void | Promise; export type PreparedCounterCacheParentUpdate = { canonicalParentModelClass: typeof import("./index.js").default; listeners: CounterCacheParentUpdateListener[]; parentId: ReturnType; parentPrimaryKey: string; parentQuery: import("../query/model-class-query.js").default; previousParent: import("./index.js").default | undefined; }; /** * Registers an internal listener for committed counter-cache parent updates. * @param {typeof import("./index.js").default} parentModelClass - Parent model class. * @param {CounterCacheParentUpdateListener} listener - Committed-parent listener. * @returns {() => void} - Listener removal callback. */ export declare function registerCounterCacheParentUpdateListener(parentModelClass: typeof import("./index.js").default, listener: CounterCacheParentUpdateListener): () => void; /** * Captures one counter-cache parent's pre-mutation state when listeners are registered. * @param {object} args - Parent update arguments. * @param {ReturnType} args.parentId - Parent relationship identity. * @param {typeof import("./index.js").default} args.parentModelClass - Parent model class. * @param {string} args.parentPrimaryKey - Parent relationship primary key. * @param {import("../query/model-class-query.js").default} args.parentQuery - Source-owned parent query. * @returns {Promise} - Prepared delivery, or undefined when no listener is registered. */ export declare function prepareCounterCacheParentUpdate({ parentId, parentModelClass, parentPrimaryKey, parentQuery }: { parentId: ReturnType; parentModelClass: typeof import("./index.js").default; parentPrimaryKey: string; parentQuery: import("../query/model-class-query.js").default; }): Promise; /** * Schedules one non-coalesced parent reload and notification on the source record's commit lifecycle. * @param {object} args - Parent update arguments. * @param {PreparedCounterCacheParentUpdate | undefined} args.preparedUpdate - Pre-mutation parent delivery state. * @param {import("./index.js").default} args.sourceRecord - Source record that owns the transaction lifecycle. * @returns {Promise} - Resolves after registration or immediate delivery. */ export declare function scheduleCounterCacheParentUpdate({ preparedUpdate, sourceRecord }: { preparedUpdate: PreparedCounterCacheParentUpdate | undefined; sourceRecord: import("./index.js").default; }): Promise; //# sourceMappingURL=counter-cache-parent-updates.d.ts.map