technically there are no limits when using snapcraft (you could use the make plugin, add a Makefile and have everything built from source and copied around to your liking etc) snapcraft is extremely flexible in all directions, so there is surely a way to copy your own lib …
when a snap is executed it runs inside the core snap but with a bunch of bits bind mounted into it from the host system, all binary executions are guarded by seccomp monitoring and cgroup namespaces, all file access is guarded by apparmor … if your snap needs to access anything that is not allowed by the default setup you can use snap interfaces to drop restrictions of the apparmor/seccomp/namespace limits.
if you want to enter the snap environment you can use “snap run --shell yoursnap-app” to enter and inspect it.