import Ajv from "ajv-draft-04"; import type { Graffiti } from "@graffiti-garden/api"; import type { GraffitiObjectBase } from "@graffiti-garden/api"; type GraffitiDatabaseMethods = Pick; /** * Wraps a partial implementation of the [Graffiti API](https://api.graffiti.garden/classes/Graffiti.html) * to provide the [`synchronize`](https://api.graffiti.garden/classes/Graffiti.html#synchronize) method. * The partial implementation must include the primary database methods: * `get`, `put`, `patch`, `delete`, and `discover`. */ export declare class GraffitiSynchronize { protected readonly synchronizeEvents: EventTarget; protected readonly ajv: Ajv; protected readonly graffiti: GraffitiDatabaseMethods; constructor(graffiti: GraffitiDatabaseMethods, ajv?: Ajv); protected synchronizeDispatch(oldObject: GraffitiObjectBase, newObject?: GraffitiObjectBase): void; get: Graffiti["get"]; put: Graffiti["put"]; patch: Graffiti["patch"]; delete: Graffiti["delete"]; discover: Graffiti["discover"]; synchronize: Graffiti["synchronize"]; } export {}; //# sourceMappingURL=synchronize.d.ts.map