export interface SyncResult { projectId?: string; success: boolean; message: string; type: 'success' | 'warning' | 'error'; existed?: boolean; } export interface SourceSyncResult { sourceId?: string; success: boolean; message: string; type: 'success' | 'warning' | 'error'; existed?: boolean; } /** * Sync project with the API - find existing or create new project * Returns result with projectId if successful */ export declare function syncProjectWithApi(repoPath: string, repoName: string): Promise; /** * Options for syncing a source with the API */ export interface SyncSourceOptions { /** For Git sources - path to local repository */ repoPath?: string; /** Source type - defaults to 'git' for backward compatibility */ sourceType?: 'git' | 'github'; /** Type-specific configuration (e.g., GitHub repo, options) */ sourceConfig?: Record; } /** * Sync source with the API - find existing or create new source for a project * Returns result with sourceId if successful * * @param projectId - ID of the project to sync source for * @param sourceName - Human-readable name for the source * @param optionsOrRepoPath - Either a string (repoPath for backward compatibility) or SyncSourceOptions * @returns SourceSyncResult with success status and optional sourceId * * @example * // Git source (original signature - backward compatible) * await syncSourceWithApi(projectId, 'My Repo (Git)', '/path/to/repo'); * * // Git source (new signature) * await syncSourceWithApi(projectId, 'My Repo (Git)', { * sourceType: 'git', * repoPath: '/path/to/repo', * }); * * // GitHub source * await syncSourceWithApi(projectId, 'My Repo (GitHub)', { * sourceType: 'github', * sourceConfig: { * repo: 'owner/repo', * includeCommits: true, * includePRs: true, * includeIssues: false, * }, * }); */ export declare function syncSourceWithApi(projectId: string, sourceName: string, optionsOrRepoPath?: string | SyncSourceOptions): Promise; //# sourceMappingURL=projects.d.ts.map