export type SyncMode = 'personal' | 'team'; export interface RepoConfig { version: number; mode: SyncMode; salt: string; keyFingerprint: string; createdAt: string; devices: DeviceEntry[]; team?: TeamConfig; } export interface DeviceEntry { id: string; name: string; user: string; addedAt: string; lastSyncAt?: string; } export interface TeamConfig { members: TeamMember[]; } export interface TeamMember { username: string; addedAt: string; role: 'owner' | 'member'; } export interface LocalConfig { repoUrl: string; localPath: string; deviceId: string; deviceName: string; username: string; } export declare function getConfigDir(): string; export declare function getLocalConfigPath(): string; export declare function generateDeviceId(): string; export declare function loadLocalConfig(): Promise; export declare function saveLocalConfig(config: LocalConfig): Promise; /** * Load the repo-level config (config.json inside the synced repo). */ export declare function loadRepoConfig(repoPath: string): Promise; /** * Save the repo-level config. */ export declare function saveRepoConfig(repoPath: string, config: RepoConfig): Promise; //# sourceMappingURL=config.d.ts.map