export declare const routerTemplate = "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\n// --------------------------------------------------------------------------------\n// --------------------------------------------------------------------------------\n// GENERATED CODE - do not edit manually!!\n// --------------------------------------------------------------------------------\n// --------------------------------------------------------------------------------\n\ncontract {{{moduleName}}} {\n error UnknownSelector(bytes4 sel);\n\n {{{modules}}}\n{{#receive}} {{{receive}}}{{/receive}}\n{{^receive}}{{/receive}}\n fallback() external payable {\n // Lookup table: Function selector => implementation contract\n bytes4 sig4 = msg.sig;\n address implementation;\n\n assembly {\n let sig32 := shr(224, sig4)\n\n function findImplementation(sig) -> result {\n {{{selectors}}}\n }\n\n implementation := findImplementation(sig32)\n }\n\n if (implementation == address(0)) {\n revert UnknownSelector(sig4);\n }\n\n // Delegatecall to the implementation contract\n assembly {\n calldatacopy(0, 0, calldatasize())\n\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\n returndatacopy(0, 0, returndatasize())\n\n switch result\n case 0 {\n revert(0, returndatasize())\n }\n default {\n return(0, returndatasize())\n }\n }\n }\n}\n"; //# sourceMappingURL=router.d.ts.map