Typescript provider