import { Api } from "./api/api"; import { Env } from "./types/env"; import { Encrypter } from "./crypto/encrypter"; import { Logger, LogLevel } from "./logger"; import { AuthType, OAuthConfig, WalletConfig } from "./types/auth"; import { Auth } from "./auth"; import { X25519KeyPair } from "./crypto"; export interface TuskyConfig { env?: Env; encrypter?: EncrypterConfig; logger?: LoggerConfig; wallet?: WalletConfig; oauth?: OAuthConfig; apiKey?: string; clientName?: string; } export interface ClientConfig { env?: Env; encrypter?: Encrypter; logger?: Logger; auth?: Auth; logLevel?: LogLevel; logToFile?: boolean; cache?: boolean; api?: Api; storage?: Storage; apiKey?: string; clientName?: string; authType?: AuthType; } export interface LoggerConfig { logLevel?: LogLevel; logToFile?: boolean; logger?: Logger; } export interface EncrypterConfig { password?: string; keystore?: boolean; keypair?: X25519KeyPair; } export interface ApiConfig { api?: Api; env?: Env; clientName?: string; auth?: Auth; } export interface PubSubConfig { env?: Env; }