import type { Store } from '../../../replicache/src/dag/store.ts'; import { type DeletedClients } from '../../../replicache/src/deleted-clients.ts'; import type { ClientGroupID } from '../../../replicache/src/sync/ids.ts'; import type { DeleteClientsBody, DeleteClientsMessage } from '../../../zero-protocol/src/delete-clients.ts'; import type { ZeroLogContext } from './zero-log-context.ts'; /** * Replicache will tell us when it deletes clients from the persistent storage * due to GC. When this happens we tell the server about the deleted clients. * Replicache also store the deleted clients in IDB in case the server is * currently offline. * * The server will reply with the client it actually deleted. When we get that * we remove those IDs from our local storage. */ export declare class DeleteClientsManager { #private; constructor(send: (msg: DeleteClientsMessage) => void, dagStore: Store, lc: ZeroLogContext, clientGroupID: Promise); /** * This gets called by Replicache when it deletes clients from the persistent * storage. */ onClientsDeleted(deletedClients: DeletedClients): Promise; /** * Zero calls this after it connects to ensure that the server knows about all * the clients that might have been deleted locally since the last connection. */ sendDeletedClientsToServer(): Promise; /** * This is called as a response to the server telling us which clients it * actually deleted. */ clientsDeletedOnServer(deletedClients: DeleteClientsBody): Promise; getDeletedClients(): Promise; } //# sourceMappingURL=delete-clients-manager.d.ts.map