import { Config } from "../config/builder/config" import { SDKManifest } from "../manifest/ManifestTypes" import { Address, Effects } from "../types" import { Utils } from "../util/utils" import { AddressReceipt } from "./AddressReceipt" export type InterfacesReceipt = Array export type SetInterfaces< Manifest extends SDKManifest, Store, ConfigInput extends Record, Output extends InterfacesReceipt, > = (opts: { effects: Effects input: null | ConfigInput utils: Utils }) => Promise export type SetupInterfaces = < Manifest extends SDKManifest, Store, ConfigInput extends Record, Output extends InterfacesReceipt, >( config: Config, fn: SetInterfaces, ) => SetInterfaces export const NO_INTERFACE_CHANGES = [] as InterfacesReceipt export const setupInterfaces: SetupInterfaces = (_config, fn) => fn