export function makeAllManagersDo(collateralManagers: any, vaultManagers: any): (fn: (vm: VaultManager) => void) => void; /** @typedef {EReturn>} VaultDirector */ /** * Prepare the VaultDirector kind, get or make the singleton * * @type {( * ...pvdArgs: Parameters * ) => VaultDirector} */ export const provideDirector: (...pvdArgs: Parameters) => VaultDirector; export type MetricsNotification = { collaterals: Brand[]; rewardPoolAllocation: AmountKeywordRecord; }; export type ImmutableState = Readonly<{}>; export type MutableState = {}; export type State = ImmutableState & MutableState; export type FactoryPowersFacet = { burnDebt: BurnDebt; getGovernedParams: (collateralBrand: Brand) => import("./vaultManager.js").GovernedParamGetters; mintAndTransfer: MintAndTransfer; getShortfallReporter: () => Promise; }; export type MethodContext = Readonly<{ state: State; }>; export type VaultDirectorParamManager = import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager; export type VaultDirector = EReturn>; /** * @param {import('@agoric/swingset-liveslots').Baggage} baggage * @param {import('./vaultFactory.js').VaultFactoryZCF} zcf * @param {VaultDirectorParamManager} directorParamManager * @param {ZCFMint<'nat'>} debtMint * @param {ERef} timer * @param {ERef} auctioneer * @param {ERef} storageNode * @param {ERef} marshaller * @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit} makeRecorderKit * @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeERecorderKit} makeERecorderKit * @param {Record} managerParams */ declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslots").Baggage, zcf: import("./vaultFactory.js").VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef, auctioneer: ERef, storageNode: ERef, marshaller: ERef, makeRecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeRecorderKit, makeERecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeERecorderKit, managerParams: Record): () => import("@endo/exo").GuardedKit<{ creator: { getParamMgrRetriever: () => { /** @param {VaultFactoryParamPath} paramPath */ get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ DebtLimit: "amount"; InterestRate: "ratio"; LiquidationPadding: "ratio"; LiquidationMargin: "ratio"; LiquidationPenalty: "ratio"; MintFee: "ratio"; }>; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { /** @param {VaultFactoryParamPath} paramPath */ get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{ DebtLimit: "amount"; InterestRate: "ratio"; LiquidationPadding: "ratio"; LiquidationMargin: "ratio"; LiquidationPenalty: "ratio"; MintFee: "ratio"; }>; }>; /** @param {string} name */ getInvitation(name: string): Promise; getLimitedCreatorFacet(): import("@endo/exo").Guarded<{ /** * @param {Issuer<'nat'>} collateralIssuer * @param {Keyword} collateralKeyword * @param {VaultManagerParamValues} initialParamValues */ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }>; getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote; getPublicFacet(): import("@endo/exo").Guarded<{ makeVaultInvitation(): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }, undefined>>; getQuotes(): import("@agoric/notifier").StoredNotifier; getCompoundedInterest(): Ratio; getPublicTopics(): { asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; }>; lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote; liquidateVaults(auctionPF: ERef): Promise; }>>; makeCollectFeesInvitation(): Promise>; getRewardAllocation(): Allocation; makeLiquidationWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; makeReschedulerWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; makePriceLockWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; setShortfallReporter(newInvitation: any): Promise; }>; /** @returns {ERef} */ getGovernedApis(): ERef; getGovernedApiNames(): never[]; setOfferFilter: (strings: any) => Promise; }; machine: { /** * @param {Issuer<'nat'>} collateralIssuer * @param {Keyword} collateralKeyword * @param {VaultManagerParamValues} initialParamValues */ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }>; getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote; getPublicFacet(): import("@endo/exo").Guarded<{ makeVaultInvitation(): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }, undefined>>; getQuotes(): import("@agoric/notifier").StoredNotifier; getCompoundedInterest(): Ratio; getPublicTopics(): { asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; }>; lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote; liquidateVaults(auctionPF: ERef): Promise; }>>; makeCollectFeesInvitation(): Promise>; getRewardAllocation(): Allocation; makeLiquidationWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; makeReschedulerWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; makePriceLockWaker(): { wake: (timestamp: any) => any; } & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, { wake: (timestamp: any) => any; }>; setShortfallReporter(newInvitation: any): Promise; }; public: { /** @param {Brand} brandIn */ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{ makeVaultInvitation(): Promise; storagePath: Promise; }; }; invitationMakers: import("@endo/exo").Guarded<{ AdjustBalances(): Promise>; CloseVault(): Promise>; TransferVault(): Promise>; }>; vault: import("@endo/exo").Guarded<{ getPublicTopics(): { vault: { description: string; subscriber: globalThis.Subscriber; storagePath: Promise; }; }; makeAdjustBalancesInvitation(): Promise>; makeCloseInvitation(): Promise>; makeTransferInvitation(): Promise>; getCollateralAmount(): import("@agoric/ertp").NatAmount; getCurrentDebt(): import("@agoric/ertp").NatAmount; getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt; }>; vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder; }, undefined>>; getQuotes(): import("@agoric/notifier").StoredNotifier; getCompoundedInterest(): Ratio; getPublicTopics(): { asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; }>; getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>; /** * subscription for the paramManager for a particular vaultManager * * @param {{ collateralBrand: Brand }} selector */ getSubscription({ collateralBrand }: { collateralBrand: Brand; }): globalThis.StoredSubscription; getPublicTopics(): { metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic; }; /** subscription for the paramManager for the vaultFactory's electorate */ getElectorateSubscription(): globalThis.StoredSubscription; /** * Note this works only for a collateral manager. For the director use, * `getDirectorGovernedParams` * * @param {{ collateralBrand: Brand }} selector */ getGovernedParams({ collateralBrand }: { collateralBrand: Brand; }): globalThis.ERef; getDirectorGovernedParams(): globalThis.ERef; /** @param {string} name */ getInvitationAmount(name: string): import("@agoric/ertp").SetAmount; }; helper: { resetWakeupsForNextAuction(): Promise; /** Start non-durable processes (or restart if needed after vat restart) */ start(): Promise; }; }>; import type { EReturn } from '@endo/far'; import type { ZCFMint } from '@agoric/zoe'; import type { ZCFSeat } from '@agoric/zoe'; export {}; //# sourceMappingURL=vaultDirector.d.ts.map