export interface MultipartFile { /** Form field name (e.g. 'files[]') */ fieldName: string; /** Filename as seen by the server */ filename: string; /** File content */ content: Buffer; } export interface MultipartResult { body: Buffer; boundary: string; contentType: string; } /** * Build a multipart/form-data body from string fields and file entries. * Pure function — no external dependencies. */ export declare function buildMultipartFormData(fields: Record, files: MultipartFile[]): MultipartResult; export interface OrgApiClientOptions { /** Admin API key (sk-ant-admin...) — required for /v1/organizations/* */ adminApiKey: string; /** Regular API key (sk-ant-api...) — required for /v1/skills */ apiKey?: string; } export interface PaginationParams { limit?: number; after_id?: string; before_id?: string; } export interface ReportPaginationParams { starting_at?: string; ending_at?: string; next_page?: string; } export declare class OrgApiClient { private readonly adminApiKey; private readonly apiKey; constructor(opts: OrgApiClientOptions); buildUrl(path: string): string; buildAdminHeaders(): Record; buildSkillsHeaders(): Record; buildQueryString(params: Record): string; /** GET to an org Admin API endpoint. */ get(path: string, params?: Record): Promise; /** GET to a skills API endpoint (regular API key + beta header). */ getSkills(path: string, params?: Record): Promise; /** DELETE a skill by ID. All versions must be deleted first. */ deleteSkill(skillId: string): Promise; /** DELETE a specific version of a skill. */ deleteSkillVersion(skillId: string, version: string): Promise; /** Upload a skill via multipart/form-data POST to /v1/skills. */ uploadSkill(multipart: MultipartResult): Promise; private request; } /** * Create an OrgApiClient from environment variables. * Throws with a clear message if the required key is missing. */ export declare function createOrgApiClientFromEnv(): OrgApiClient; //# sourceMappingURL=org-api-client.d.ts.map