declare const AUTH_SCHEMA = "moss_community_auth.v1"; export interface MossCommunityUser { id: string; name: string; email?: string; avatar?: string; } export interface MossCommunityAuthSession { schema: typeof AUTH_SCHEMA; ssoBaseUrl: string; accessToken: string; user: MossCommunityUser; expiresAt: number; createdAt: number; updatedAt: number; } export interface MossCommunityAuthContext { accessToken: string; user: MossCommunityUser; expiresAt: number; sessionPath: string; ssoBaseUrl: string; } export interface MossCommunityAuthStatus { authenticated: boolean; sessionPath: string; ssoBaseUrl: string; user?: MossCommunityUser; expiresAt?: number; reason?: 'missing' | 'expired' | 'invalid'; } export interface MossCommunityAuthRuntime { getStatus(): MossCommunityAuthStatus; getContext(): MossCommunityAuthContext | undefined; login(print?: (line: string) => void, options?: MossCommunityAuthLoginOptions): Promise; logout(): boolean; } export interface MossCommunityAuthLoginOptions { manual?: boolean; openBrowser?: boolean; readLine?: (prompt: string) => Promise; } export declare class MossCommunityAuthRequiredError extends Error { constructor(message?: string); } type FetchImpl = typeof fetch; export declare function resolveCommunityAuthSessionPath(configDir?: string): string; export declare function normalizePortalToken(raw: unknown): string; export declare function resolveCommunityUserFromToken(accessToken: string, options?: { ssoBaseUrl?: string; fetchImpl?: FetchImpl; }): Promise<{ user: MossCommunityUser; expiresAt: number; }>; export declare function readMossCommunityAuthSession(configDir?: string): MossCommunityAuthSession | null; export declare function getMossCommunityAuthStatus(options?: { configDir?: string; env?: NodeJS.ProcessEnv; }): MossCommunityAuthStatus; export declare function writeMossCommunityAuthSession(session: MossCommunityAuthSession, configDir?: string): string; export declare function clearMossCommunityAuthSession(configDir?: string): boolean; export declare function runMossCommunityAuthLogin(options?: { configDir?: string; env?: NodeJS.ProcessEnv; fetchImpl?: FetchImpl; manual?: boolean; openBrowser?: boolean; print?: (line: string) => void; readLine?: (prompt: string) => Promise; }): Promise; export declare function renderCommunityAuthRequiredMessage(options?: { interactive?: boolean; }): string; export declare function formatCommunityAuthLoginError(err: unknown): string; export declare function formatCommunityAuthStatus(status: MossCommunityAuthStatus, options?: { includePath?: boolean; }): string; export declare function ensureMossCommunityAuth(options?: { configDir?: string; env?: NodeJS.ProcessEnv; interactive?: boolean; fetchImpl?: FetchImpl; }): Promise; export {}; //# sourceMappingURL=community-auth.d.ts.map