/** parameters for a Reserve. */ import type { ClientWithCoreApi, SuiClientTypes } from '@mysten/sui/client'; import { Bag } from '../../_dependencies/sui/bag/structs'; import { PhantomReified, Reified, StructClass, ToField, ToJSON, ToTypeStr } from '../../_framework/reified'; import { FieldsWithTypes } from '../../_framework/util'; import { Vector } from '../../_framework/vector'; export declare function isReserveConfig(type: string): boolean; export interface ReserveConfigFields { openLtvPct: ToField<'u8'>; closeLtvPct: ToField<'u8'>; maxCloseLtvPct: ToField<'u8'>; borrowWeightBps: ToField<'u64'>; depositLimit: ToField<'u64'>; borrowLimit: ToField<'u64'>; liquidationBonusBps: ToField<'u64'>; maxLiquidationBonusBps: ToField<'u64'>; depositLimitUsd: ToField<'u64'>; borrowLimitUsd: ToField<'u64'>; interestRateUtils: ToField>; interestRateAprs: ToField>; borrowFeeBps: ToField<'u64'>; spreadFeeBps: ToField<'u64'>; protocolLiquidationFeeBps: ToField<'u64'>; isolated: ToField<'bool'>; openAttributedBorrowLimitUsd: ToField<'u64'>; closeAttributedBorrowLimitUsd: ToField<'u64'>; additionalFields: ToField; } export type ReserveConfigReified = Reified; export type ReserveConfigJSONField = { openLtvPct: number; closeLtvPct: number; maxCloseLtvPct: number; borrowWeightBps: string; depositLimit: string; borrowLimit: string; liquidationBonusBps: string; maxLiquidationBonusBps: string; depositLimitUsd: string; borrowLimitUsd: string; interestRateUtils: number[]; interestRateAprs: string[]; borrowFeeBps: string; spreadFeeBps: string; protocolLiquidationFeeBps: string; isolated: boolean; openAttributedBorrowLimitUsd: string; closeAttributedBorrowLimitUsd: string; additionalFields: ToJSON; }; export type ReserveConfigJSON = { $typeName: typeof ReserveConfig.$typeName; $typeArgs: []; } & ReserveConfigJSONField; /** Configuration parameters for a reserve in the lending market. */ export declare class ReserveConfig implements StructClass { __StructClass: true; static get $typeName(): `${string}::reserve_config::ReserveConfig`; static readonly $numTypeParams = 0; static readonly $isPhantom: readonly []; readonly $typeName: typeof ReserveConfig.$typeName; readonly $fullTypeName: `${string}::reserve_config::ReserveConfig`; readonly $typeArgs: []; readonly $isPhantom: typeof ReserveConfig.$isPhantom; readonly openLtvPct: ToField<'u8'>; readonly closeLtvPct: ToField<'u8'>; readonly maxCloseLtvPct: ToField<'u8'>; readonly borrowWeightBps: ToField<'u64'>; readonly depositLimit: ToField<'u64'>; readonly borrowLimit: ToField<'u64'>; readonly liquidationBonusBps: ToField<'u64'>; readonly maxLiquidationBonusBps: ToField<'u64'>; readonly depositLimitUsd: ToField<'u64'>; readonly borrowLimitUsd: ToField<'u64'>; readonly interestRateUtils: ToField>; readonly interestRateAprs: ToField>; readonly borrowFeeBps: ToField<'u64'>; readonly spreadFeeBps: ToField<'u64'>; readonly protocolLiquidationFeeBps: ToField<'u64'>; readonly isolated: ToField<'bool'>; readonly openAttributedBorrowLimitUsd: ToField<'u64'>; readonly closeAttributedBorrowLimitUsd: ToField<'u64'>; readonly additionalFields: ToField; private constructor(); static reified(): ReserveConfigReified; static get r(): ReserveConfigReified; static phantom(): PhantomReified>; static get p(): PhantomReified>; private static instantiateBcs; private static cachedBcs; static get bcs(): ReturnType; static fromFields(fields: Record): ReserveConfig; static fromFieldsWithTypes(item: FieldsWithTypes): ReserveConfig; static fromBcs(data: Uint8Array): ReserveConfig; toJSONField(): ReserveConfigJSONField; toJSON(): ReserveConfigJSON; static fromJSONField(field: any): ReserveConfig; static fromJSON(json: Record): ReserveConfig; static fromCoreObject(obj: SuiClientTypes.Object<{ content: true; }>): ReserveConfig; static fetch(client: ClientWithCoreApi, id: string): Promise; } export declare function isReserveConfigBuilder(type: string): boolean; export interface ReserveConfigBuilderFields { fields: ToField; } export type ReserveConfigBuilderReified = Reified; export type ReserveConfigBuilderJSONField = { fields: ToJSON; }; export type ReserveConfigBuilderJSON = { $typeName: typeof ReserveConfigBuilder.$typeName; $typeArgs: []; } & ReserveConfigBuilderJSONField; /** Builder struct for constructing a ReserveConfig. */ export declare class ReserveConfigBuilder implements StructClass { __StructClass: true; static get $typeName(): `${string}::reserve_config::ReserveConfigBuilder`; static readonly $numTypeParams = 0; static readonly $isPhantom: readonly []; readonly $typeName: typeof ReserveConfigBuilder.$typeName; readonly $fullTypeName: `${string}::reserve_config::ReserveConfigBuilder`; readonly $typeArgs: []; readonly $isPhantom: typeof ReserveConfigBuilder.$isPhantom; readonly fields: ToField; private constructor(); static reified(): ReserveConfigBuilderReified; static get r(): ReserveConfigBuilderReified; static phantom(): PhantomReified>; static get p(): PhantomReified>; private static instantiateBcs; private static cachedBcs; static get bcs(): ReturnType; static fromFields(fields: Record): ReserveConfigBuilder; static fromFieldsWithTypes(item: FieldsWithTypes): ReserveConfigBuilder; static fromBcs(data: Uint8Array): ReserveConfigBuilder; toJSONField(): ReserveConfigBuilderJSONField; toJSON(): ReserveConfigBuilderJSON; static fromJSONField(field: any): ReserveConfigBuilder; static fromJSON(json: Record): ReserveConfigBuilder; static fromCoreObject(obj: SuiClientTypes.Object<{ content: true; }>): ReserveConfigBuilder; static fetch(client: ClientWithCoreApi, id: string): Promise; } export declare function isConfidenceMultiplierKey(type: string): boolean; export interface ConfidenceMultiplierKeyFields { dummyField: ToField<'bool'>; } export type ConfidenceMultiplierKeyReified = Reified; export type ConfidenceMultiplierKeyJSONField = { dummyField: boolean; }; export type ConfidenceMultiplierKeyJSON = { $typeName: typeof ConfidenceMultiplierKey.$typeName; $typeArgs: []; } & ConfidenceMultiplierKeyJSONField; export declare class ConfidenceMultiplierKey implements StructClass { __StructClass: true; static get $typeName(): `${string}::reserve_config::ConfidenceMultiplierKey`; static readonly $numTypeParams = 0; static readonly $isPhantom: readonly []; readonly $typeName: typeof ConfidenceMultiplierKey.$typeName; readonly $fullTypeName: `${string}::reserve_config::ConfidenceMultiplierKey`; readonly $typeArgs: []; readonly $isPhantom: typeof ConfidenceMultiplierKey.$isPhantom; readonly dummyField: ToField<'bool'>; private constructor(); static reified(): ConfidenceMultiplierKeyReified; static get r(): ConfidenceMultiplierKeyReified; static phantom(): PhantomReified>; static get p(): PhantomReified>; private static instantiateBcs; private static cachedBcs; static get bcs(): ReturnType; static fromFields(fields: Record): ConfidenceMultiplierKey; static fromFieldsWithTypes(item: FieldsWithTypes): ConfidenceMultiplierKey; static fromBcs(data: Uint8Array): ConfidenceMultiplierKey; toJSONField(): ConfidenceMultiplierKeyJSONField; toJSON(): ConfidenceMultiplierKeyJSON; static fromJSONField(field: any): ConfidenceMultiplierKey; static fromJSON(json: Record): ConfidenceMultiplierKey; static fromCoreObject(obj: SuiClientTypes.Object<{ content: true; }>): ConfidenceMultiplierKey; static fetch(client: ClientWithCoreApi, id: string): Promise; }