import type { SDDConfig } from '../types.js'; import type { RemoteDocResponse, RemoteDocBulkResponse, RemoteCRResponse, RemoteCRBulkResponse, RemoteBugResponse, RemoteBugBulkResponse, RemoteDeleteResponse, RemoteResetResult } from './types.js'; /** Default timeout for remote operations (seconds) */ export declare const DEFAULT_REMOTE_TIMEOUT = 300; export interface ApiClientConfig { baseUrl: string; apiKey: string; timeout: number; } /** * Resolve API key: SDD_API_KEY env var > config.remote.api-key > null */ export declare function resolveApiKey(config: SDDConfig): string | null; /** * Build an ApiClientConfig from the SDD project config. * Throws RemoteNotConfiguredError if URL or API key is missing. */ /** * Build an ApiClientConfig from the SDD project config. * Throws RemoteNotConfiguredError if URL or API key is missing. * An optional timeoutOverride (from --timeout flag) takes precedence over config. */ export declare function buildApiConfig(config: SDDConfig, timeoutOverride?: number): ApiClientConfig; /** GET /cli/pull-docs */ export declare function pullDocs(config: ApiClientConfig): Promise; /** POST /cli/push-docs */ export declare function pushDocs(config: ApiClientConfig, documents: Array<{ path: string; title: string; content: string; }>): Promise; /** GET /cli/pending-crs */ export declare function pullPendingCRs(config: ApiClientConfig): Promise; /** GET /cli/deleted-doc-ids */ export declare function pullDeletedDocIds(config: ApiClientConfig): Promise; /** GET /cli/deleted-cr-ids */ export declare function pullDeletedCRIds(config: ApiClientConfig): Promise; /** GET /cli/deleted-bug-ids */ export declare function pullDeletedBugIds(config: ApiClientConfig): Promise; /** POST /cli/push-crs */ export declare function pushCRs(config: ApiClientConfig, changeRequests: Array<{ path: string; title: string; body: string; id?: string; }>): Promise; /** GET /cli/open-bugs */ export declare function pullOpenBugs(config: ApiClientConfig): Promise; /** POST /cli/push-bugs */ export declare function pushBugs(config: ApiClientConfig, bugs: Array<{ path: string; title: string; body: string; severity?: string; id?: string; }>): Promise; /** POST /cli/delete-docs */ export declare function deleteDocs(config: ApiClientConfig, paths: string[]): Promise; /** POST /cli/delete-crs */ export declare function deleteCRs(config: ApiClientConfig, paths: string[]): Promise; /** POST /cli/delete-bugs */ export declare function deleteBugs(config: ApiClientConfig, paths: string[]): Promise; /** POST /cli/crs/:crId/applied */ export declare function markCRAppliedRemote(config: ApiClientConfig, crId: string): Promise; /** POST /cli/bugs/:bugId/resolved */ export declare function markBugResolvedRemote(config: ApiClientConfig, bugId: string): Promise; /** POST /cli/docs/:docId/enriched — Notify remote that a draft doc has been enriched */ export declare function markDocEnriched(config: ApiClientConfig, docId: string, content: string): Promise; /** POST /cli/crs/:crId/enriched — Notify remote that a draft CR has been enriched */ export declare function markCREnriched(config: ApiClientConfig, crId: string, body: string): Promise; /** POST /cli/bugs/:bugId/enriched — Notify remote that a draft bug has been enriched */ export declare function markBugEnriched(config: ApiClientConfig, bugId: string, body: string): Promise; /** POST /cli/reset — Reset all project data on remote */ export declare function resetProject(config: ApiClientConfig, confirmSlug: string): Promise; //# sourceMappingURL=api-client.d.ts.map