import type { ProjectMemoryRecord } from "@best-agent/protocol";
import { LocalProjectMemoryStore } from "./project-memory.js";
type ProjectMemorySyncFetch = (input: Parameters<typeof fetch>[0], init?: Parameters<typeof fetch>[1]) => Promise<Response>;
export interface ProjectMemorySyncClientOptions {
    cwd: string;
    debounceMs?: number;
    fetchFn?: ProjectMemorySyncFetch;
    log?: Pick<Console, "warn">;
    projectMemory: LocalProjectMemoryStore;
    token?: string;
    url?: string;
}
export declare class ProjectMemorySyncClient {
    #private;
    constructor(options: ProjectMemorySyncClientOptions);
    close(): void;
    prepareForSession(): void;
    getStatus(): NonNullable<ProjectMemoryRecord["sync"]>;
    schedulePush(): void;
    syncNow(): Promise<void>;
}
export declare function normalizeTeamMemoryProjectKey(remoteUrl: string): string | undefined;
export {};
//# sourceMappingURL=project-memory-sync.d.ts.map