export interface SyncConfig { repoUrl: string; localPath: string; deviceId: string; } export declare class GitSync { private git; private config; constructor(config: SyncConfig); /** * Clone the repo if it doesn't exist locally, or pull latest. */ init(): Promise; /** * Pull latest changes, rebase local commits on top. */ pull(): Promise; /** * Stage all changes, commit, and push. */ push(message: string): Promise; /** * Write an encrypted file to the repo working directory. */ writeFile(relativePath: string, data: Buffer): Promise; /** * Read a file from the repo working directory. */ readFile(relativePath: string): Promise; /** * Check if a file exists in the repo. */ exists(relativePath: string): boolean; /** * Get the local repo path. */ get repoPath(): string; } //# sourceMappingURL=sync.d.ts.map