Export composable types
First of all, a really nice package! Thanks for that. 🙌🏼
Now, to the actual issue...
Since the entire point of defining "as code" is to be able to reuse chunks of definitions. I feel like then types need to be exported for each chunk that can be reused.
For example, there is no exported type for a step, and even trying to do various TypeScript acrobatics to infer the type, it won't work, since the step type is a complicated union.
I think each composable type needs to be exported.
At least:
- Step
- Job
- Workflow
Or factory functions, like createWorkflow.
At the same time, there are many types that are exported, which are not needed.

Actually, these types are built via this script here: https://github.com/webiny/github-actions-wac/blob/main/scripts/generateGithubActionsWorkflowTypes.ts
So, it's reading https://json.schemastore.org/github-workflow.json and converting that into TS. No manual steps done.
When it comes to types, you can import them actually:
- job:
NormalJob['steps'] - step:
NormalJob - workflow -
Workflow

So, just import from the package, like:
import { NormalJob, Workflow } from "github-actions-wac";
Hope that helps :)