import * as core from '@prismamedia/graphql-platform'; import type { MariaDBBroker } from '../../broker.js'; import type { PoolConnection } from '../../index.js'; import { Event } from '../../schema/event.js'; import type { StatementKind } from '../../statement.js'; import { AbstractTable } from '../abstract-table.js'; import type { MariaDBSubscription, MariaDBSubscriptionAssignmentDiagnosis } from '../subscription.js'; export interface MariaDBBrokerMutationRow { id: bigint; requestContext: string; changeCount: number; changesByNode: string; committedAt: string; } export interface MariaDBBrokerMutation { id: bigint; requestContext: TRequestContext; changeCount: number; changesByNode: Record>; committedAt: Date; } export type UnassignedMutationsBySubscription = Map>>; export interface MariaDBBrokerMutationsTableOptions { name?: string; janitor?: string; } /** * For every mutation, we store the request-context and the committed-at timestamp. * * The janitor is used to clean up the mutations that have been committed and whose assignments have been deleted. */ export declare class MariaDBBrokerMutationsTable extends AbstractTable { readonly options?: MariaDBBrokerMutationsTableOptions | undefined; constructor(broker: MariaDBBroker, options?: MariaDBBrokerMutationsTableOptions | undefined); get janitor(): Event; setup(connection: PoolConnection): Promise; publish(changes: core.MutationContextChanges, connection: PoolConnection): Promise; parseRow(row: MariaDBBrokerMutationRow): MariaDBBrokerMutation; filterDependencies(worker: MariaDBSubscription, alias?: string): string; filterAssignables(worker: MariaDBSubscription, alias?: string): string; getAssignables(worker: MariaDBSubscription, batchSize?: number): AsyncGenerator[]>; diagnose(worker: MariaDBSubscription): Promise; } //# sourceMappingURL=mutations.d.ts.map