import { APIConfig } from "./types"; interface Permissions { read: boolean; write: boolean; } declare type SpaceType = "shared"; export interface Space { id: string; permissions: Permissions; displayName: string; ownerType?: string; type?: SpaceType; isDefault?: boolean; } export interface UserInfoResponse { id: string; email: string; username: string; organization: { id: string; name: string; }; npmrc: string; spaces?: Space[]; } export interface StartRegistryChallengeResponse { code: string; } export declare type CheckRegistryChallengeResponse = { status: "started"; } | { status: "complete"; authToken: string; }; export interface GetPackageMetaResponse { version?: string; packageName: string; displayName: string; isPrivate: boolean; published: boolean; spaceId?: string; } export interface GetPackagesMetaResponse { [key: string]: { isPrivate: boolean; spaceId?: string; }; } export declare type GetPackageVersionStatus = { status: "pending" | "queued" | "in_progress" | "completed"; } | { status: "rejected"; error: { message: string; internal: boolean; timestamp: string; }; }; interface Params { [key: string]: string; } export interface RequestOptions { body?: T; pathParams?: Params; qs?: T; } export declare class API { private readonly baseAPIURL; private readonly token; constructor({ baseURL, token }: APIConfig); getNpmrc(): Promise; getUserInfo(): Promise; startRegistryChallenge(email: string): Promise; checkRegistryChallenge(code: string): Promise; getPackageMeta(packageName: string | undefined, displayName: string | undefined, isPrivate: boolean, spaceId: string | undefined): Promise; getPackagesMeta(packageNames: string[]): Promise; preflight(version: string, packageName: string, isPrivate: boolean, spaceId?: string): Promise; rejectPendingVersion(packageName: string, version: string, error: string): Promise; getPackageVersionStatus(packageName: string, version: string): Promise; /** * In order to have dynamic endpoint paths, use the :-prefix notation as * you would do in Express routes: /foo/:bar/:baz/action. */ private static endpoints; private parseNpmrcResponse; private request; } export {};