UNPKG

@nosana/kit

Version:

Nosana KIT

59 lines (58 loc) 2.29 kB
import { NosanaNetwork } from '@nosana/types'; import { createIpfsClient } from '@nosana/ipfs'; import { type NosanaApi } from '@nosana/api'; import { type NosanaAuthorization } from '@nosana/authorization'; import { Logger } from './logger/Logger.js'; import { ClientConfig, PartialClientConfig } from './config/index.js'; import { type JobsProgram } from './services/programs/jobs/index.js'; import { type StakeProgram } from './services/programs/stake/index.js'; import { type MerkleDistributorProgram } from './services/programs/merkleDistributor/index.js'; import { type SolanaService } from './services/solana/index.js'; import { type TokenService } from './services/token/index.js'; import type { Wallet } from './types.js'; /** * The Nosana client interface. Contains all the services and programs * needed to interact with the Nosana network. */ export interface NosanaClient { readonly config: ClientConfig; readonly jobs: JobsProgram; readonly stake: StakeProgram; readonly merkleDistributor: MerkleDistributorProgram; readonly solana: SolanaService; readonly nos: TokenService; readonly api: NosanaApi | undefined; readonly ipfs: ReturnType<typeof createIpfsClient>; readonly authorization: NosanaAuthorization; readonly logger: Logger; /** * The wallet. Must be a Wallet (supports both message and transaction signing). * Set this property directly to configure the wallet. * * @example * ```ts * import { createNosanaClient, NosanaNetwork } from '@nosana/kit'; * * const client = createNosanaClient(NosanaNetwork.MAINNET); * client.wallet = myWallet; * ``` */ wallet: Wallet | undefined; } /** * Creates a new Nosana client instance. * * * @param network - The network to connect to (default: MAINNET) * @param customConfig - Optional custom configuration to override defaults * @returns A Nosana client instance with all services and programs * * @example * ```ts * import { createNosanaClient, NosanaNetwork } from '@nosana/kit'; * * const client = createNosanaClient(NosanaNetwork.MAINNET); * client.wallet = myWallet; * ``` */ export declare function createNosanaClient(network?: NosanaNetwork, customConfig?: PartialClientConfig): NosanaClient;