@limitly/limitly-nextjs
Version:
Official Next.js SDK for Limitly - API Key management, plans, users and request validation optimized for server-side
82 lines • 3 kB
TypeScript
import { HttpClient } from '../client';
import { User, CreateUserRequest, UpdateUserRequest, UserUsage, ApiKey, ApiResponse, PaginatedResponse, RequestOptions } from '../types';
/**
* Module for managing Users
* Optimized for Next.js server-side rendering
*/
export declare class UsersModule {
private client;
constructor(client: HttpClient);
/**
* Lists all users
* @param options - Request options including Next.js cache options
* @returns Promise with paginated users
*/
list(options?: RequestOptions): Promise<PaginatedResponse<User>>;
/**
* Creates a new user
* @param data - User creation data
* @param options - Request options
* @returns Promise with created user
*/
create(data: CreateUserRequest, options?: RequestOptions): Promise<ApiResponse<User>>;
/**
* Gets a specific user by ID
* @param userId - The user ID
* @param options - Request options including Next.js cache options
* @returns Promise with user details
*/
get(userId: number, options?: RequestOptions): Promise<ApiResponse<User>>;
/**
* Updates an existing user
* @param userId - The user ID
* @param data - Update data
* @param options - Request options
* @returns Promise with updated user
*/
update(userId: number, data: UpdateUserRequest, options?: RequestOptions): Promise<ApiResponse<User>>;
/**
* Deletes a user
* @param userId - The user ID
* @param options - Request options
* @returns Promise with deletion confirmation
*/
delete(userId: number, options?: RequestOptions): Promise<ApiResponse<{
message: string;
}>>;
/**
* Gets user usage statistics
* @param userId - The user ID
* @param options - Request options including Next.js cache options
* @returns Promise with user usage
*/
getUsage(userId: number, options?: RequestOptions): Promise<ApiResponse<UserUsage>>;
/**
* Gets all API Keys for a user
* @param userId - The user ID
* @param options - Request options including Next.js cache options
* @returns Promise with user API keys
*/
getKeys(userId: number, options?: RequestOptions): Promise<ApiResponse<ApiKey[]>>;
/**
* Creates a new API Key for a user
* @param userId - The user ID
* @param data - API key creation data
* @param options - Request options
* @returns Promise with created API key
*/
createKey(userId: number, data: {
name: string;
plan_id?: string;
status?: 'active' | 'inactive';
}, options?: RequestOptions): Promise<ApiResponse<ApiKey>>;
/**
* Gets users with usage statistics (optimized for Next.js)
* @param options - Request options
* @returns Promise with users and their usage
*/
listWithUsage(options?: RequestOptions): Promise<PaginatedResponse<User & {
usage?: UserUsage;
}>>;
}
//# sourceMappingURL=users.d.ts.map