UNPKG

@better-auth-ui/core

Version:

Authentication components and data utilities for [Better Auth](https://better-auth.com), available for React and Solid.

63 lines (62 loc) 2.39 kB
import { MutationOptions } from '@tanstack/query-core'; import { BetterFetchError } from 'better-auth/client'; import { ApiKeyAuthClient } from './api-key-auth-client'; type CreateApiKeyInput = NonNullable<Parameters<ApiKeyAuthClient["apiKey"]["create"]>[0]>; type CreateApiKeyClientField = "configId" | "name" | "expiresIn" | "organizationId" | "prefix" | "metadata" | "fetchOptions"; /** Fields accepted by Better Auth's client-side API key creation endpoint. */ export type CreateApiKeyParams = Pick<CreateApiKeyInput, CreateApiKeyClientField> | undefined; export type CreateApiKeyOptions<TAuthClient extends ApiKeyAuthClient> = Omit<ReturnType<typeof createApiKeyOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">; /** * Mutation options factory for creating an API key. * * @param authClient - The Better Auth API key client. * @param userId - The current signed-in user's ID. Used for cache partitioning. */ export declare function createApiKeyOptions<TAuthClient extends ApiKeyAuthClient>(authClient: TAuthClient, userId?: string): MutationOptions<Awaited<ReturnType<(params: CreateApiKeyParams) => Promise<{ key: string; metadata: any; permissions: any; id: string; configId: string; name: string | null; start: string | null; prefix: string | null; referenceId: string; refillInterval: number | null; refillAmount: number | null; lastRefillAt: Date | null; enabled: boolean; rateLimitEnabled: boolean; rateLimitTimeWindow: number | null; rateLimitMax: number | null; requestCount: number; remaining: number | null; lastRequest: Date | null; expiresAt: Date | null; createdAt: Date; updatedAt: Date; }>>>, BetterFetchError, Parameters<(params: CreateApiKeyParams) => Promise<{ key: string; metadata: any; permissions: any; id: string; configId: string; name: string | null; start: string | null; prefix: string | null; referenceId: string; refillInterval: number | null; refillAmount: number | null; lastRefillAt: Date | null; enabled: boolean; rateLimitEnabled: boolean; rateLimitTimeWindow: number | null; rateLimitMax: number | null; requestCount: number; remaining: number | null; lastRequest: Date | null; expiresAt: Date | null; createdAt: Date; updatedAt: Date; }>>[0]>; export {};