@nosana/kit
Version:
Nosana KIT
44 lines • 1.87 kB
TypeScript
import { NosanaNetwork } from '@nosana/types';
import { NosanaApiClient } from '@nosana/api';
import { NosanaIpfsClient } from '@nosana/ipfs';
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.
* @group @nosana/kit
*/
export interface NosanaClient {
readonly config: ClientConfig;
readonly jobs: JobsProgram;
readonly stake: StakeProgram;
readonly merkleDistributor: MerkleDistributorProgram;
readonly solana: SolanaService;
readonly nos: TokenService;
readonly api: NosanaApiClient;
readonly ipfs: NosanaIpfsClient;
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;
}
export declare function createNosanaClient(network?: NosanaNetwork, customConfig?: PartialClientConfig): NosanaClient;
//# sourceMappingURL=NosanaClient.d.ts.map