import { Config } from "../config/builder/config" import * as T from "../types" import { AddressReceipt } from "./AddressReceipt" export type InterfacesReceipt = Array export type SetInterfaces< Manifest extends T.Manifest, Store, ConfigInput extends Record, Output extends InterfacesReceipt, > = (opts: { effects: T.Effects; input: null | ConfigInput }) => Promise export type SetupInterfaces = < Manifest extends T.Manifest, 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