UNPKG

@narangcia-oss/cryptic-auth-client-plain-ts

Version:

A TypeScript client for interacting with a cryptic-auth host web server, crafted by Narangcia OSS.

35 lines (34 loc) 1.56 kB
import { type AxiosInstance } from "axios"; import type { UserCredentials, SignupResponse, LoginResponse, TokenValidationResponse, OAuthSignupResponse, OAuthCallbackParams, AuthConfig } from "../types/index"; import { extractTokens, isTokenExpired } from "../utils/tokens"; /** * Core authentication client for handling all auth flows * Handles login, signup, OAuth, token refresh, and validation */ export declare class AuthClient { private api; private accessToken; private refreshToken; private isRefreshing; private failedQueue; private config; constructor(config: AuthConfig); private setupInterceptors; private processQueue; setTokens(accessToken: string, refreshToken?: string): void; clearTokens(): void; getAccessToken(): string | null; getRefreshToken(): string | null; isAuthenticated(): boolean; login(credentials: UserCredentials): Promise<LoginResponse>; signup(credentials: UserCredentials): Promise<SignupResponse>; private refreshTokenFlow; validateToken(token: string): Promise<TokenValidationResponse>; healthCheck(): Promise<unknown>; generateOAuthAuthUrl(provider: string, state: string, scopes: string[]): Promise<string>; oauthLoginCallback(provider: string, params: OAuthCallbackParams): Promise<LoginResponse>; oauthSignupCallback(provider: string, params: OAuthCallbackParams): Promise<OAuthSignupResponse>; getAxiosInstance(): AxiosInstance; static extractTokens: typeof extractTokens; static isTokenExpired: typeof isTokenExpired; }