Type declarations