///
import { Program, Wallet } from "@project-serum/anchor";
import { Connection, PublicKey } from "@solana/web3.js";
import { CredixPass } from "../accounts/CredixPass";
import { Deal } from "../accounts/Deal";
import { Market } from "../accounts/Market";
import { ProgramState } from "../accounts/ProgramState";
import { Receivable } from "../accounts/Receivable";
import { VariableInterestRates } from "../accounts/VariableInterestRates";
import { CredixClientConfig, MarketConfig, VariableInterestRatesConfig } from "../config";
import { Credix } from "../idl/credix";
import { CredixSecondaryMarket } from "../idl/credixSecondaryMarket";
import { CredixProgram, CredixSecondaryMarketProgram, ScowProgram, VariableRatesProgram } from "../idl/idl.types";
import { Scow } from "../idl/scow";
import { VariableRates } from "../idl/variableRates";
import { RepaymentScheduleLoader } from "../loaders/RepaymentScheduleLoader";
import { TranchesLoader } from "../loaders/TranchesLoader";
export declare class MissingAmountError extends Error {
constructor(message?: string);
}
export declare class MissingWalletError extends Error {
constructor(message?: string);
}
export declare class SolanaContext {
private connection;
private config;
program: CredixProgram;
anchorProgram: Program;
secondaryMarketProgram: CredixSecondaryMarketProgram;
secondaryMarketAnchorProgram: Program;
scowProgram: ScowProgram;
scowAnchorProgram: Program;
variableRatesProgram: VariableRatesProgram;
variableRatesAnchorProgram: Program;
constructor(connection: Connection, wallet: Wallet, config: CredixClientConfig);
changeWallet(wallet: Wallet): void;
}
export declare class CredixClient {
repaymentScheduleLoader: RepaymentScheduleLoader;
tranchesLoader: TranchesLoader;
private solanaContext;
constructor(connection: Connection, wallet: Wallet, config: CredixClientConfig);
get user(): PublicKey | undefined;
initializeProgramState(credixMultisigKey: PublicKey, credixManagers: PublicKey[]): Promise;
private initializeMarketBuilder;
initializeMarket(marketConfiguration: MarketConfig): Promise;
initializeMarketIx(marketConfiguration: MarketConfig, owner?: PublicKey): Promise;
fetchMarket(marketName: string): Promise;
fetchMarketWithAddress(address: PublicKey): Promise;
fetchCredixPasses(): Promise;
fetchDealByPublicKey(publicKey: PublicKey): Promise;
fetchMarkets(): Promise;
fetchProgramState(): Promise;
fetchReceivable(duplicataIdentifier: string): Promise;
fetchReceivableWithAddress(receivableAddress: PublicKey): Promise;
createOrUpdateRatesBuilder(rates: VariableInterestRatesConfig, owner?: PublicKey): import("@project-serum/anchor/dist/cjs/program/namespace/methods").MethodsBuilder;
createVariableRates(variableInterestRates: VariableInterestRatesConfig): Promise;
createVariableRatesIx(variableInterestRates: VariableInterestRatesConfig, owner?: PublicKey): Promise;
fetchVariableInterestRates(): Promise;
}
//# sourceMappingURL=CredixClient.d.ts.map