import { ImportDatum, ContractInterfaceFunction, ContractInterfaceError, RelativeImportDatum } from '@latticexyz/common/codegen';
import { W as World } from './output-de05b96e.js';
import '@latticexyz/store';

interface RenderSystemInterfaceOptions {
    /** List of symbols to import, and their file paths */
    imports: ImportDatum[];
    name: string;
    functionPrefix: string;
    functions: ContractInterfaceFunction[];
    errors: ContractInterfaceError[];
}
interface RenderWorldOptions {
    /** List of symbols to import, and their file paths */
    imports: RelativeImportDatum[];
    /** Name of the interface to render */
    interfaceName: string;
    /** Path for store package imports */
    storeImportPath: string;
    /** Path for world package imports */
    worldImportPath: string;
}

declare function renderSystemInterface(options: RenderSystemInterfaceOptions): string;

declare function renderWorldInterface(options: RenderWorldOptions): string;

declare function worldgen(configV2: World, existingContracts: {
    path: string;
    basename: string;
}[], outputBaseDirectory: string): Promise<void>;

export { RenderSystemInterfaceOptions, RenderWorldOptions, renderSystemInterface, renderWorldInterface, worldgen };
