///
///
import type { Cluster, Commitment, ConnectionConfig } from "@solana/web3.js";
import { Connection } from "@solana/web3.js";
import type { SolanaSigner } from "@rarible/solana-common";
import { DebugLogger } from "../logger/debug-logger";
import type { TransactionResult } from "../types";
import type { PreparedTransaction } from "./prepared-transaction";
import type { ISolanaBalancesSdk } from "./balance/balance";
import type { ISolanaNftSdk } from "./nft/nft";
import type { ISolanaOrderSdk } from "./order/order";
import type { ISolanaCollectionSdk } from "./collection/collection";
import type { ISolanaAuctionHouseSdk } from "./auctionHouse/auction-house";
import type { ISolanaAccountSdk } from "./account/account";
export interface IRaribleSolanaSdk {
nft: ISolanaNftSdk;
balances: ISolanaBalancesSdk;
order: ISolanaOrderSdk;
confirmTransaction(...args: Parameters): ReturnType;
unionInstructionsAndSend(signer: SolanaSigner, preparedTransactions: PreparedTransaction[], commitment: Commitment): Promise;
}
export interface ISolanaSdkConfig {
connection: {
cluster: Cluster;
endpoint?: string;
commitmentOrConfig?: Commitment | ConnectionConfig;
};
debug?: boolean;
}
interface ILoggingConfig {
debug: boolean;
}
export declare class SolanaSdk implements IRaribleSolanaSdk {
readonly connection: Connection;
readonly cluster: Cluster;
private readonly logging;
readonly debugLogger: DebugLogger;
readonly balances: ISolanaBalancesSdk;
readonly nft: ISolanaNftSdk;
readonly order: ISolanaOrderSdk;
readonly collection: ISolanaCollectionSdk;
readonly auctionHouse: ISolanaAuctionHouseSdk;
readonly account: ISolanaAccountSdk;
constructor(connection: Connection, cluster: Cluster, logging: ILoggingConfig);
confirmTransaction(...args: Parameters): Promise>;
unionInstructionsAndSend(signer: SolanaSigner, preparedTransactions: PreparedTransaction[], commitment: Commitment): Promise;
static create(config: ISolanaSdkConfig): SolanaSdk;
}
export {};