import { PaginationInput } from "../../types.mjs"; //#region src/plugins/api-key/types.d.ts type ApiKeyPermissions = Record; type ApiKey = { id: string | number; name: string; profile: string; prefix: string | null; last4: string; permissions: ApiKeyPermissions; enabled: boolean; expiresAt: string | null; isExpired: boolean; lastUsedAt: string | null; metadata: Record | null; createdAt: string; updatedAt: string; }; type CreateApiKeyInput = { profile?: string; name: string; permissions?: ApiKeyPermissions; expiresIn?: number; metadata?: Record; }; type CreateApiKeyResult = ApiKey & { /** Plaintext secret. It is only returned when the key is created or rotated. */key: string; }; type ListApiKeysInput = (PaginationInput & { profile?: string; status?: "enabled" | "disabled"; }) | void; type GetApiKeyInput = { id: string | number; }; type UpdateApiKeyInput = GetApiKeyInput & { name?: string; permissions?: ApiKeyPermissions; allPermissions?: boolean; enabled?: boolean; metadata?: Record; }; type RevokeApiKeyInput = GetApiKeyInput; type RotateApiKeyInput = GetApiKeyInput & { /** New lifetime in seconds, or `null` to remove the expiration. */expiresIn: number | null; permissions?: ApiKeyPermissions; allPermissions?: boolean; }; //#endregion export { ApiKey, ApiKeyPermissions, CreateApiKeyInput, CreateApiKeyResult, GetApiKeyInput, ListApiKeysInput, RevokeApiKeyInput, RotateApiKeyInput, UpdateApiKeyInput };