export declare function backendBaseUrl(): string; export interface AuthRecord { authToken: string; accountId: string; linkedAt: string; /** null = never expires, which is every token minted since tokens went * permanent. A date here is a legacy token still carrying its old life. */ expiresAt: string | null; scope?: string; } /** * Everything `whoami` / `status` need to answer "who am I and where is my state * stored", resolved exactly the way every request path resolves it. * * Exported so those commands cannot drift from the real resolution — the whole * reason they exist is to tell you the truth about which config directory and * which account are in play, so re-deriving it there would defeat the point. * NEVER returns the token itself; callers print facts about it, not its value. */ export declare function resolveInstallState(): { configDir: string; configDirIsOverridden: boolean; installId: string; auth: Omit | null; authTokenPresent: boolean; authExpired: boolean | null; }; export declare function writeAuthToken(record: AuthRecord): { path: string; ok: boolean; error?: string; }; export declare function identityHeaders(): Record; export interface BackendResponse { ok: boolean; status: number; data: T | null; errorText: string | null; } export declare function backendFetch(path: string, init?: { method?: "GET" | "POST"; body?: unknown; headers?: Record; }): Promise>; //# sourceMappingURL=backendClient.d.ts.map