diff --git a/ts/flexbuffers.ts b/ts/flexbuffers.ts
new file mode 100644
index 0000000..40482dc
--- /dev/null
+++ b/ts/flexbuffers.ts
@@ -0,0 +1,30 @@
+/* eslint-disable @typescript-eslint/no-namespace */
+import { Builder } from './flexbuffers/builder'
+import { toReference as toReferenceFunction } from './flexbuffers/reference';
+
+export function builder(): Builder {
+    return new Builder();
+}
+
+export function toObject(buffer: Uint8Array): unknown {
+    return toReferenceFunction(buffer).toObject();
+}
+
+export function encode(object: unknown, size = 2048, deduplicateStrings = true, deduplicateKeys = true, deduplicateKeyVectors = true): Uint8Array {
+    const builder = new Builder(size > 0 ? size : 2048, deduplicateStrings, deduplicateKeys, deduplicateKeyVectors);
+    builder.add(object);
+    return builder.finish();
+}
+
+const builderFunction = builder
+const toObjectFunction = toObject
+const encodeFunction = encode
+
+export namespace flexbuffers {
+    export const builder = builderFunction;
+    export const toObject = toObjectFunction;
+    export const encode = encodeFunction;
+    export const toReference = toReferenceFunction;
+}
+
+export default flexbuffers;
