@better-auth-ui/core
Version:
Authentication components and data utilities for [Better Auth](https://better-auth.com), available for React and Solid.
60 lines (59 loc) • 2.29 kB
TypeScript
import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { ApiKeyAuthClient } from './api-key-auth-client';
type UpdateApiKeyInput = NonNullable<Parameters<ApiKeyAuthClient["apiKey"]["update"]>[0]>;
type UpdateApiKeyClientField = "configId" | "keyId" | "name" | "fetchOptions";
/** Fields accepted by Better Auth's client-side API key update endpoint. */
export type UpdateApiKeyParams = Pick<UpdateApiKeyInput, UpdateApiKeyClientField>;
export type UpdateApiKeyOptions<TAuthClient extends ApiKeyAuthClient> = Omit<ReturnType<typeof updateApiKeyOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/** Mutation options factory for updating an API key. */
export declare function updateApiKeyOptions<TAuthClient extends ApiKeyAuthClient>(authClient: TAuthClient, userId?: string): MutationOptions<Awaited<ReturnType<(params: UpdateApiKeyParams) => Promise<{
metadata: Record<string, any> | null;
permissions: {
[key: string]: string[];
} | null;
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: UpdateApiKeyParams) => Promise<{
metadata: Record<string, any> | null;
permissions: {
[key: string]: string[];
} | null;
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 {};