Have a look a the datetimecontrols package which comes with the IDE (folder components/datetimectrls. You can find some other components strictly distinguishing between runtime and designtime packages on CCR (TvPlanIt, JVCLLaz, fpspreadsheet).
datetimectrls.lpk is the runtime package, it only contains the component code only, no registration, no resource file with the palette icons, no ideintf. In this particular example the package properties mark it as "Designtime and runtime" - I'd use "Runtime" or "Runtime only", though.
In subfolder "design", there is the designtime package, datetimectrlsdsgn.lpk. It "requires" the runtime package and the ideintf package. In contains the registration unit (datetimectlsreg.pas) which registers each component as well as their property/component editors. Also, the {$R <paletteicons>.res} is there. You can register different components in the same unit. Again, in this example the package is marked as "Designtime and runtime", but I'd recommend a "Designtime" instead.
Important note: either have all units in the same folder, or put runtime and designtime code into separate directories, and also make sure that the compilation destinations are different (the lpk files can be in the same folder). Otherwise you may have problems building the IDE.
When everything is set up correctly the IDE will present you only the runtime package to be used in a project.
Many simple packages still use combined runtime/designtime packages. This may be fine for simple packages with a few components only, but large combined packages will sooner or later run into trouble.