export { mudCoreConfig, resolveTableId } from '@latticexyz/config/register';
import { OrDefaults, StringForUnion, ExtractUserTypes } from '@latticexyz/common/type-utils';
import { MUDCoreUserConfig } from '@latticexyz/config/library';
import { q as StoreUserConfig, S as StoreConfig, D as DEFAULTS, P as PATH_DEFAULTS, k as ExpandTablesConfig, M as MUDUserConfig } from './storeConfig-6528f30c.js';
import '@latticexyz/schema-type/deprecated';
import 'zod';
import '@latticexyz/common/codegen';

declare module "@latticexyz/config/library" {
    interface MUDCoreUserConfig extends StoreUserConfig {
    }
    interface MUDCoreConfig extends StoreConfig {
    }
}
interface ExpandMUDUserConfig<T extends MUDCoreUserConfig> extends OrDefaults<T, DEFAULTS & PATH_DEFAULTS> {
    tables: ExpandTablesConfig<T["tables"]>;
}

/** mudCoreConfig wrapper to use generics in some options for better type inference */
declare function mudConfig<T extends MUDCoreUserConfig, EnumNames extends StringForUnion = never, UserTypeNames extends StringForUnion = never, StaticUserTypes extends ExtractUserTypes<EnumNames | UserTypeNames> = ExtractUserTypes<EnumNames | UserTypeNames>>(config: MUDUserConfig<T, EnumNames, UserTypeNames, StaticUserTypes>): ExpandMUDUserConfig<T>;

export { ExpandMUDUserConfig, mudConfig };
