diff --git a/externals/firebase-admin/README.md b/externals/firebase-admin/README.md
new file mode 100644
index 0000000..7bd5cbe
--- /dev/null
+++ b/externals/firebase-admin/README.md
@@ -0,0 +1 @@
+## Kotlin JS External Definitions for firebase-admin
\ No newline at end of file
diff --git a/externals/firebase-admin/_testShared/test.kt b/externals/firebase-admin/_testShared/test.kt
new file mode 100644
index 0000000..8ff7b86
--- /dev/null
+++ b/externals/firebase-admin/_testShared/test.kt
@@ -0,0 +1,6 @@
+import js.externals.firebase.admin.credential.*
+
+fun test() {
+ val credential = applicationDefault()
+ println(credential)
+}
\ No newline at end of file
diff --git a/externals/firebase-admin/package.json b/externals/firebase-admin/package.json
new file mode 100644
index 0000000..b325cda
--- /dev/null
+++ b/externals/firebase-admin/package.json
@@ -0,0 +1,3 @@
+{
+ "description": "firebase-admin"
+}
\ No newline at end of file
diff --git a/externals/firebase-admin/v5/konfig.json b/externals/firebase-admin/v5/konfig.json
new file mode 100644
index 0000000..cc2fd82
--- /dev/null
+++ b/externals/firebase-admin/v5/konfig.json
@@ -0,0 +1,3 @@
+{
+ "version": "5.11.0"
+}
diff --git a/externals/firebase-admin/v5/src/firestore.FirebaseFirestore.kt b/externals/firebase-admin/v5/src/firestore.FirebaseFirestore.kt
new file mode 100644
index 0000000..1b95166
--- /dev/null
+++ b/externals/firebase-admin/v5/src/firestore.FirebaseFirestore.kt
@@ -0,0 +1,190 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-firestore
+//
+// Package: firebase-firestore
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsModule("@google-cloud/firestore")
+@file:JsNonModule()
+package js.externals.firebase.admin.FirebaseFirestore
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+
+external interface DocumentData {
+ @nativeGetter
+ operator fun get(field: String): Any?
+ @nativeSetter
+ operator fun set(field: String, value: Any)
+}
+external interface UpdateData {
+ @nativeGetter
+ operator fun get(fieldPath: String): Any?
+ @nativeSetter
+ operator fun set(fieldPath: String, value: Any)
+}
+external fun setLogFunction(logger: (msg: String) -> Unit): Unit = definedExternally
+external open class Firestore(options: Any? = definedExternally /* null */) {
+ open fun collection(collectionPath: String): CollectionReference = definedExternally
+ open fun doc(documentPath: String): DocumentReference = definedExternally
+ open fun getAll(vararg documentRef: DocumentReference): Promise> = definedExternally
+ open fun getCollections(): Promise> = definedExternally
+ open fun runTransaction(updateFunction: (transaction: Transaction) -> Promise): Promise = definedExternally
+ open fun batch(): WriteBatch = definedExternally
+}
+external open class GeoPoint(latitude: Number, longitude: Number) {
+ open var latitude: Number = definedExternally
+ open var longitude: Number = definedExternally
+ open fun isEqual(other: GeoPoint): Boolean = definedExternally
+}
+external open class Transaction {
+ open fun get(query: Query): Promise = definedExternally
+ open fun get(documentRef: DocumentReference): Promise = definedExternally
+ open fun getAll(vararg documentRef: DocumentReference): Promise> = definedExternally
+ open fun create(documentRef: DocumentReference, data:DocumentData): Transaction = definedExternally
+ open fun set(documentRef: DocumentReference, data: DocumentData, options: SetOptions? = definedExternally /* null */): Transaction = definedExternally
+ open fun update(documentRef: DocumentReference, data: UpdateData, precondition: Precondition? = definedExternally /* null */): Transaction = definedExternally
+ open fun update(documentRef: DocumentReference, field: String, value: Any, vararg fieldsOrPrecondition: Any): Transaction = definedExternally
+ open fun update(documentRef: DocumentReference, field: FieldPath, value: Any, vararg fieldsOrPrecondition: Any): Transaction = definedExternally
+ open fun delete(documentRef: DocumentReference, precondition: Precondition? = definedExternally /* null */): Transaction = definedExternally
+}
+external open class WriteBatch {
+ open fun create(documentRef: DocumentReference, data: DocumentData): WriteBatch = definedExternally
+ open fun set(documentRef: DocumentReference, data: DocumentData, options: SetOptions? = definedExternally /* null */): WriteBatch = definedExternally
+ open fun update(documentRef: DocumentReference, data: UpdateData, precondition: Precondition? = definedExternally /* null */): WriteBatch = definedExternally
+ open fun update(documentRef: DocumentReference, field: String, value: Any, vararg fieldsOrPrecondition: Any): WriteBatch = definedExternally
+ open fun update(documentRef: DocumentReference, field: FieldPath, value: Any, vararg fieldsOrPrecondition: Any): WriteBatch = definedExternally
+ open fun delete(documentRef: DocumentReference, precondition: Precondition? = definedExternally /* null */): WriteBatch = definedExternally
+ open fun commit(): Promise> = definedExternally
+}
+external interface Precondition {
+ var lastUpdateTime: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface SetOptions {
+ var merge: Boolean? get() = definedExternally; set(value) = definedExternally
+}
+external open class WriteResult {
+ open var writeTime: String = definedExternally
+ open fun isEqual(other: WriteResult): Boolean = definedExternally
+}
+external open class DocumentReference {
+ open var id: String = definedExternally
+ open var firestore: Firestore = definedExternally
+ open var parent: CollectionReference = definedExternally
+ open var path: String = definedExternally
+ open fun collection(collectionPath: String): CollectionReference = definedExternally
+ open fun getCollections(): Promise> = definedExternally
+ open fun create(data: DocumentData): Promise = definedExternally
+ open fun set(data: DocumentData, options: SetOptions? = definedExternally /* null */): Promise = definedExternally
+ open fun update(data: UpdateData, precondition: Precondition? = definedExternally /* null */): Promise = definedExternally
+ open fun update(field: String, value: Any, vararg moreFieldsOrPrecondition: Any): Promise = definedExternally
+ open fun update(field: FieldPath, value: Any, vararg moreFieldsOrPrecondition: Any): Promise = definedExternally
+ open fun delete(precondition: Precondition? = definedExternally /* null */): Promise = definedExternally
+ open fun get(): Promise = definedExternally
+ open fun onSnapshot(onNext: (snapshot: DocumentSnapshot) -> Unit, onError: ((error: Error) -> Unit)? = definedExternally /* null */): () -> Unit = definedExternally
+ open fun isEqual(other: DocumentReference): Boolean = definedExternally
+}
+external open class DocumentSnapshot {
+ open var exists: Boolean = definedExternally
+ open var ref: DocumentReference = definedExternally
+ open var id: String = definedExternally
+ open var createTime: String = definedExternally
+ open var updateTime: String = definedExternally
+ open var readTime: String = definedExternally
+ open fun data(): DocumentData? = definedExternally
+ open fun get(fieldPath: String): Any = definedExternally
+ open fun get(fieldPath: FieldPath): Any = definedExternally
+ open fun isEqual(other: DocumentSnapshot): Boolean = definedExternally
+}
+external open class QueryDocumentSnapshot : DocumentSnapshot {
+ override var createTime: String = definedExternally
+ override var updateTime: String = definedExternally
+ override fun data(): DocumentData = definedExternally
+}
+external open class Query {
+ open var firestore: Firestore = definedExternally
+ open fun where(fieldPath: String, opStr: String /* "<" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: String, opStr: String /* "<=" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: String, opStr: String /* "==" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: String, opStr: String /* ">=" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: String, opStr: String /* ">" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: FieldPath, opStr: String /* "<" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: FieldPath, opStr: String /* "<=" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: FieldPath, opStr: String /* "==" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: FieldPath, opStr: String /* ">=" */, value: Any): Query = definedExternally
+ open fun where(fieldPath: FieldPath, opStr: String /* ">" */, value: Any): Query = definedExternally
+ open fun orderBy(fieldPath: String, directionStr: String? /* "desc" */ = definedExternally /* null */): Query = definedExternally
+ open fun orderBy(fieldPath: String, directionStr: String? /* "asc" */ = definedExternally /* null */): Query = definedExternally
+ open fun orderBy(fieldPath: FieldPath, directionStr: String? /* "desc" */ = definedExternally /* null */): Query = definedExternally
+ open fun orderBy(fieldPath: FieldPath, directionStr: String? /* "asc" */ = definedExternally /* null */): Query = definedExternally
+ open fun limit(limit: Number): Query = definedExternally
+ open fun offset(offset: Number): Query = definedExternally
+ open fun select(vararg field: String): Query = definedExternally
+ open fun select(vararg field: FieldPath): Query = definedExternally
+ open fun startAt(snapshot: DocumentSnapshot): Query = definedExternally
+ open fun startAt(vararg fieldValues: Any): Query = definedExternally
+ open fun startAfter(snapshot: DocumentSnapshot): Query = definedExternally
+ open fun startAfter(vararg fieldValues: Any): Query = definedExternally
+ open fun endBefore(snapshot: DocumentSnapshot): Query = definedExternally
+ open fun endBefore(vararg fieldValues: Any): Query = definedExternally
+ open fun endAt(snapshot: DocumentSnapshot): Query = definedExternally
+ open fun endAt(vararg fieldValues: Any): Query = definedExternally
+ open fun get(): Promise = definedExternally
+ open fun onSnapshot(onNext: (snapshot: QuerySnapshot) -> Unit, onError: ((error: Error) -> Unit)? = definedExternally /* null */): () -> Unit = definedExternally
+ open fun isEqual(other: Query): Boolean = definedExternally
+ open fun orderBy(fieldPath: String): Query = definedExternally
+ open fun orderBy(fieldPath: FieldPath): Query = definedExternally
+}
+external open class QuerySnapshot {
+ open var query: Query = definedExternally
+ open var docChanges: Array = definedExternally
+ open var docs: Array = definedExternally
+ open var size: Number = definedExternally
+ open var empty: Boolean = definedExternally
+ open var readTime: String = definedExternally
+ open fun forEach(callback: (result: QueryDocumentSnapshot) -> Unit, thisArg: Any? = definedExternally /* null */): Unit = definedExternally
+ open fun isEqual(other: QuerySnapshot): Boolean = definedExternally
+}
+external interface DocumentChange {
+ var type: dynamic /* String /* "added" */ | String /* "removed" */ | String /* "modified" */ */
+ var doc: QueryDocumentSnapshot
+ var oldIndex: Number
+ var newIndex: Number
+ fun isEqual(other: DocumentChange): Boolean
+}
+external open class CollectionReference : Query {
+ open var id: String = definedExternally
+ open var parent: DocumentReference? = definedExternally
+ open var path: String = definedExternally
+ open fun doc(documentPath: String? = definedExternally /* null */): DocumentReference = definedExternally
+ open fun add(data:DocumentData): Promise = definedExternally
+ open fun isEqual(other: CollectionReference): Boolean = definedExternally
+}
+external open class FieldValue {
+ open fun isEqual(other: FieldValue): Boolean = definedExternally
+ companion object {
+ fun serverTimestamp(): FieldValue = definedExternally
+ fun delete(): FieldValue = definedExternally
+ }
+}
+external open class FieldPath(vararg fieldNames: String) {
+ open fun isEqual(other: FieldPath): Boolean = definedExternally
+ companion object {
+ fun documentId(): FieldPath = definedExternally
+ }
+}
diff --git a/externals/firebase-admin/v5/src/google.cloud.Storage.kt b/externals/firebase-admin/v5/src/google.cloud.Storage.kt
new file mode 100644
index 0000000..ec3b50c
--- /dev/null
+++ b/externals/firebase-admin/v5/src/google.cloud.Storage.kt
@@ -0,0 +1,305 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for google-cloud-storage
+//
+// Project: https://github.com/GoogleCloudPlatform/google-cloud-node/tree/master/packages/storage
+// Package: google-cloud-storage
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("Storage")
+package js.externals.firebase.admin.google.cloud.Storage
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+
+external open class Bucket(storage: Storage, name: String) {
+ open var acl: Acl = definedExternally
+ open fun combine(sources: Array, destination: Array): Promise */> = definedExternally
+ open fun combine(sources: Array, destination: Array): Promise */> = definedExternally
+ open fun combine(sources: Array, destination: Array): Promise */> = definedExternally
+ open fun combine(sources: Array, destination: Array): Promise */> = definedExternally
+ open fun create(config: BucketConfig? = definedExternally /* null */): Promise */> = definedExternally
+ open fun createChannel(id: String, config: ChannelConfig): Promise */> = definedExternally
+ open fun delete(): Promise */> = definedExternally
+ open fun deleteFiles(query: BucketQuery? = definedExternally /* null */): Promise = definedExternally
+ open fun exists(): Promise */> = definedExternally
+ open fun file(name: String, options: BucketFileOptions? = definedExternally /* null */): File = definedExternally
+ open fun get(options: BucketGetOptions? = definedExternally /* null */): Promise */> = definedExternally
+ open fun getFiles(query: BucketQuery? = definedExternally /* null */): Promise> */> = definedExternally
+ // open fun getFilesStream(query: BucketQuery? = definedExternally /* null */): ReadStream = definedExternally
+ open fun getMetadata(): Promise */> = definedExternally
+ open var id: String = definedExternally
+ open var iam: Iam = definedExternally
+ open fun makePrivate(options: BucketPrivacyOptions? = definedExternally /* null */): Promise> */> = definedExternally
+ open fun makePublic(options: BucketPrivacyOptions? = definedExternally /* null */): Promise> */> = definedExternally
+ open var metadata: BucketMetadata = definedExternally
+ open var name: String = definedExternally
+ open fun setMetadata(metadata: BucketMetadata? = definedExternally /* null */): Promise */> = definedExternally
+ open fun upload(localPath: String, options: UploadOptions? = definedExternally /* null */): Promise */> = definedExternally
+}
+external interface `T$0` {
+ var enabled: Boolean? get() = definedExternally; set(value) = definedExternally
+}
+external interface BucketConfig {
+ var coldline: Boolean? get() = definedExternally; set(value) = definedExternally
+ var dra: Boolean? get() = definedExternally; set(value) = definedExternally
+ var location: String? get() = definedExternally; set(value) = definedExternally
+ var multiRegional: Boolean? get() = definedExternally; set(value) = definedExternally
+ var nearline: Boolean? get() = definedExternally; set(value) = definedExternally
+ var regional: Boolean? get() = definedExternally; set(value) = definedExternally
+ var versioning: `T$0`? get() = definedExternally; set(value) = definedExternally
+}
+external interface BucketFileOptions {
+ var generation: dynamic /* String | Number */ get() = definedExternally; set(value) = definedExternally
+}
+external interface BucketGetOptions {
+ var autoCreate: Boolean? get() = definedExternally; set(value) = definedExternally
+}
+external interface BucketMetadata {
+ var etag: String? get() = definedExternally; set(value) = definedExternally
+ var id: String? get() = definedExternally; set(value) = definedExternally
+ var kind: String? get() = definedExternally; set(value) = definedExternally
+ var location: String? get() = definedExternally; set(value) = definedExternally
+ var metageneration: String? get() = definedExternally; set(value) = definedExternally
+ var name: String? get() = definedExternally; set(value) = definedExternally
+ var projectNumber: String? get() = definedExternally; set(value) = definedExternally
+ var selfLink: String? get() = definedExternally; set(value) = definedExternally
+ var storageClass: String? get() = definedExternally; set(value) = definedExternally
+ var timeCreated: String? get() = definedExternally; set(value) = definedExternally
+ var updated: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface BucketPrivacyOptions {
+ var includeFiles: Boolean? get() = definedExternally; set(value) = definedExternally
+ var force: Boolean? get() = definedExternally; set(value) = definedExternally
+}
+external interface BucketQuery {
+ var autoPaginate: Boolean? get() = definedExternally; set(value) = definedExternally
+ var delimiter: String? get() = definedExternally; set(value) = definedExternally
+ var prefix: String? get() = definedExternally; set(value) = definedExternally
+ var maxApiCalls: Number? get() = definedExternally; set(value) = definedExternally
+ var maxResults: Number? get() = definedExternally; set(value) = definedExternally
+ var pageToken: String? get() = definedExternally; set(value) = definedExternally
+ var versions: Boolean? get() = definedExternally; set(value) = definedExternally
+}
+external interface ContentLengthRange {
+ var max: Number? get() = definedExternally; set(value) = definedExternally
+ var min: Number? get() = definedExternally; set(value) = definedExternally
+}
+external open class File(bucket: Bucket, name: String, options: BucketFileOptions? = definedExternally /* null */) {
+ open var acl: Acl = definedExternally
+ open fun copy(destination: String): Promise */> = definedExternally
+ open fun copy(destination: File): Promise */> = definedExternally
+ open fun copy(destination: Bucket): Promise */> = definedExternally
+ // open fun createReadStream(options: ReadStreamOptions? = definedExternally /* null */): ReadStream = definedExternally
+ open fun createResumableUpload(options: ResumableUploadOptions? = definedExternally /* null */): Promise */> = definedExternally
+ // open fun createWriteStream(options: WriteStreamOptions? = definedExternally /* null */): WriteStream = definedExternally
+ open fun delete(): Promise */> = definedExternally
+ open fun download(options: DownloadOptions? = definedExternally /* null */): Promise */> = definedExternally
+ open fun exists(): Promise */> = definedExternally
+ open fun get(): Promise */> = definedExternally
+ open fun getMetadata(): Promise */> = definedExternally
+ open fun getSignedPolicy(options: SignedPolicyOptions? = definedExternally /* null */): Promise */> = definedExternally
+ open fun getSignedUrl(config: SignedUrlConfig? = definedExternally /* null */): Promise */> = definedExternally
+ open fun makePrivate(options: FilePrivateOptions? = definedExternally /* null */): Promise */> = definedExternally
+ open fun makePublic(): Promise */> = definedExternally
+ open fun move(destination: String): Promise */> = definedExternally
+ open fun move(destination: File): Promise */> = definedExternally
+ open fun move(destination: Bucket): Promise */> = definedExternally
+ open var name: String = definedExternally
+ open fun save(data: String, options: WriteStreamOptions? = definedExternally /* null */): Promise = definedExternally
+ // open fun save(data: Buffer, options: WriteStreamOptions? = definedExternally /* null */): Promise = definedExternally
+ open fun setEncryptionKey(encryptionKey: String): File = definedExternally
+ // open fun setEncryptionKey(encryptionKey: Buffer): File = definedExternally
+ open fun setMetadata(metadata: FileMetadata): Promise */> = definedExternally
+ open var metadata: FileMetadata = definedExternally
+}
+external interface CustomFileMetadata {
+ @nativeGetter
+ operator fun get(key: String): dynamic /* String | Number | Boolean | Nothing? */
+ @nativeSetter
+ operator fun set(key: String, value: String)
+ @nativeSetter
+ operator fun set(key: String, value: Number)
+ @nativeSetter
+ operator fun set(key: String, value: Boolean)
+ @nativeSetter
+ operator fun set(key: String, value: Nothing?)
+}
+external interface FileMetadata {
+ var contentType: String? get() = definedExternally; set(value) = definedExternally
+ var metadata: CustomFileMetadata? get() = definedExternally; set(value) = definedExternally
+ var cacheControl: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface FilePrivateOptions {
+ var strict: Boolean? get() = definedExternally; set(value) = definedExternally
+}
+external interface SignedPolicy {
+ var base64: String? get() = definedExternally; set(value) = definedExternally
+ var signature: String? get() = definedExternally; set(value) = definedExternally
+ var string: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface SignedPolicyOptions {
+ var acl: String? get() = definedExternally; set(value) = definedExternally
+ var contentLengthRange: ContentLengthRange? get() = definedExternally; set(value) = definedExternally
+ var equals: dynamic /* Array | dynamic /* JsTuple> */ */ get() = definedExternally; set(value) = definedExternally
+ var expires: dynamic /* String | Number */ get() = definedExternally; set(value) = definedExternally
+ var max: Number? get() = definedExternally; set(value) = definedExternally
+ var min: Number? get() = definedExternally; set(value) = definedExternally
+ var startsWith: dynamic /* Array | dynamic /* JsTuple> */ */ get() = definedExternally; set(value) = definedExternally
+ var successRedirect: String? get() = definedExternally; set(value) = definedExternally
+ var successStatus: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$1` {
+ @nativeGetter
+ operator fun get(key: String): String?
+ @nativeSetter
+ operator fun set(key: String, value: String)
+}
+external interface SignedUrlConfig {
+ var action: String
+ var cname: String? get() = definedExternally; set(value) = definedExternally
+ var contentMd5: String? get() = definedExternally; set(value) = definedExternally
+ var contentType: String? get() = definedExternally; set(value) = definedExternally
+ var expires: dynamic /* String | Number */ get() = definedExternally; set(value) = definedExternally
+ var extensionHeaders: `T$1`? get() = definedExternally; set(value) = definedExternally
+ var promptSaveAs: String? get() = definedExternally; set(value) = definedExternally
+ var responseDisposition: String? get() = definedExternally; set(value) = definedExternally
+ var responseType: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface ResumableUploadOptions {
+ var metadata: FileMetadata? get() = definedExternally; set(value) = definedExternally
+ var origin: String? get() = definedExternally; set(value) = definedExternally
+ var predefinedAcl: String? get() = definedExternally; set(value) = definedExternally
+ var private: Boolean? get() = definedExternally; set(value) = definedExternally
+ var public: Boolean? get() = definedExternally; set(value) = definedExternally
+}
+external interface Acl : AclActions {
+ var default: AclEntity
+ var owners: AclEntity
+ var readers: AclEntity
+ var writers: AclEntity
+}
+external interface AclActions {
+ fun add(options: AclOptions): Promise */>
+ fun delete(options: AclOptions): Promise */>
+ fun get(options: AclOptions): Promise */>
+ fun update(options: AclOptions): Promise */>
+}
+external interface AclEntity : AclActions {
+ fun addAllAuthenticatedUsers(): Promise */>
+ fun addAllUsers(): Promise */>
+ fun addDomain(entity: String): Promise */>
+ fun addGroup(entity: String): Promise */>
+ fun addProject(entity: String): Promise */>
+ fun addUser(entity: String): Promise */>
+ fun deleteAllAuthenticatedUsers(): Promise */>
+ fun deleteAllUsers(): Promise */>
+ fun deleteDomain(entity: String): Promise */>
+ fun deleteGroup(entity: String): Promise */>
+ fun deleteProject(entity: String): Promise */>
+ fun deleteUser(entity: String): Promise */>
+}
+external interface AclOptions {
+ var entity: String? get() = definedExternally; set(value) = definedExternally
+ var role: String? get() = definedExternally; set(value) = definedExternally
+ var generation: Number? get() = definedExternally; set(value) = definedExternally
+}
+external interface ApiResponse {
+ var etag: String? get() = definedExternally; set(value) = definedExternally
+ var id: String? get() = definedExternally; set(value) = definedExternally
+ var kind: String? get() = definedExternally; set(value) = definedExternally
+ var location: String? get() = definedExternally; set(value) = definedExternally
+ var metageneration: String? get() = definedExternally; set(value) = definedExternally
+ var name: String? get() = definedExternally; set(value) = definedExternally
+ var projectNumber: String? get() = definedExternally; set(value) = definedExternally
+ var selfLink: String? get() = definedExternally; set(value) = definedExternally
+ var storageClass: String? get() = definedExternally; set(value) = definedExternally
+ var timeCreated: String? get() = definedExternally; set(value) = definedExternally
+ var updated: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface Credentials {
+ var client_email: String? get() = definedExternally; set(value) = definedExternally
+ var private_key: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface ConfigurationObject {
+ var autoRetry: Boolean? get() = definedExternally; set(value) = definedExternally
+ var credentials: Credentials? get() = definedExternally; set(value) = definedExternally
+ var email: String? get() = definedExternally; set(value) = definedExternally
+ var keyFilename: String? get() = definedExternally; set(value) = definedExternally
+ var maxRetries: Number? get() = definedExternally; set(value) = definedExternally
+ var projectId: String? get() = definedExternally; set(value) = definedExternally
+ // var promise: (() -> PromiseLike)? get() = definedExternally; set(value) = definedExternally
+}
+external interface DownloadOptions : ReadStreamOptions {
+ var destination: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface ReadStreamOptions {
+ var end: Number? get() = definedExternally; set(value) = definedExternally
+ var start: Number? get() = definedExternally; set(value) = definedExternally
+ var validation: dynamic /* String | Boolean */ get() = definedExternally; set(value) = definedExternally
+}
+external interface UploadOptions : WriteStreamOptions {
+ var destination: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface WriteStreamOptions {
+ var gzip: Boolean? get() = definedExternally; set(value) = definedExternally
+ var metadata: FileMetadata? get() = definedExternally; set(value) = definedExternally
+ var offset: Number? get() = definedExternally; set(value) = definedExternally
+ var predefinedAcl: String? get() = definedExternally; set(value) = definedExternally
+ var private: Boolean? get() = definedExternally; set(value) = definedExternally
+ var public: Boolean? get() = definedExternally; set(value) = definedExternally
+ var resumable: Boolean? get() = definedExternally; set(value) = definedExternally
+ var uri: String? get() = definedExternally; set(value) = definedExternally
+ var validation: dynamic /* String | Boolean */ get() = definedExternally; set(value) = definedExternally
+}
+external open class Storage(config: ConfigurationObject? = definedExternally /* null */) {
+ open var acl: Acl = definedExternally
+ open fun bucket(name: String): Bucket = definedExternally
+ open fun bucket(name: Bucket): Bucket = definedExternally
+ open fun channel(id: String, resourceId: String): Channel = definedExternally
+ open fun createBucket(name: String, metadata: BucketConfig? = definedExternally /* null */): Promise */> = definedExternally
+ open fun getBuckets(query: BucketQuery? = definedExternally /* null */): Promise> */> = definedExternally
+ open fun getBucketsStream(query: BucketQuery? = definedExternally /* null */): Promise */> = definedExternally
+ open var Channel: (storage: Storage, id: String, resourceId: String) -> Channel = definedExternally
+ open var File: (bucket: Bucket, name: String, opts: BucketFileOptions) -> File = definedExternally
+ open var Bucket: (storage: Storage, name: String) -> Bucket = definedExternally
+}
+external open class Channel(storage: Storage, id: String, resourceId: String) {
+ open fun stop(): Promise */> = definedExternally
+}
+external interface ChannelConfig {
+ var address: String
+}
+external interface `T$2` {
+ @nativeGetter
+ operator fun get(key: String): Boolean?
+ @nativeSetter
+ operator fun set(key: String, value: Boolean)
+}
+external open class Iam {
+ open fun getPolicy(): Promise = definedExternally
+ open fun setPolicy(policy: IamPolicy): Promise */> = definedExternally
+ open fun testPermissions(permission: String): Promise */> = definedExternally
+ open fun testPermissions(permission: Array): Promise */> = definedExternally
+}
+external interface IamPolicy {
+ var bindings: Array
+}
+external interface IamBinding {
+ var role: String
+ var members: Array
+}
diff --git a/externals/firebase-admin/v5/src/google.cloud.kt b/externals/firebase-admin/v5/src/google.cloud.kt
new file mode 100644
index 0000000..9a3f426
--- /dev/null
+++ b/externals/firebase-admin/v5/src/google.cloud.kt
@@ -0,0 +1,30 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for google-cloud-storage
+//
+// Project: https://github.com/GoogleCloudPlatform/google-cloud-node/tree/master/packages/storage
+// Package: google-cloud-storage
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+package js.externals.firebase.admin.google.cloud
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.google.cloud.Storage.Storage
+import js.externals.firebase.admin.google.cloud.Storage.ConfigurationObject
+
+external fun Storage(config: ConfigurationObject? = definedExternally /* null */): Storage = definedExternally
diff --git a/externals/firebase-admin/v5/src/index.admin.app.kt b/externals/firebase-admin/v5/src/index.admin.app.kt
new file mode 100644
index 0000000..32eee05
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.app.kt
@@ -0,0 +1,49 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.app")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.app
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.AppOptions
+import js.externals.firebase.admin.auth.Auth
+import js.externals.firebase.admin.database.Database
+import js.externals.firebase.admin.FirebaseFirestore.Firestore
+import js.externals.firebase.admin.instanceId.InstanceId
+import js.externals.firebase.admin.messaging.Messaging
+import js.externals.firebase.admin.storage.Storage
+
+external interface App {
+ var name: String
+ var options: AppOptions
+ fun auth(): Auth
+ fun database(url: String? = definedExternally /* null */): Database
+ fun firestore(): Firestore
+ fun instanceId(): InstanceId
+ fun messaging(): Messaging
+ fun storage(): Storage
+ fun delete(): Promise
+}
diff --git a/externals/firebase-admin/v5/src/index.admin.auth.kt b/externals/firebase-admin/v5/src/index.admin.auth.kt
new file mode 100644
index 0000000..f430db9
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.auth.kt
@@ -0,0 +1,163 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.auth")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.auth
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.app.App
+import js.externals.firebase.admin.FirebaseArrayIndexError
+
+external interface UserMetadata {
+ var lastSignInTime: String
+ var creationTime: String
+ fun toJSON(): Any
+}
+external interface UserInfo {
+ var uid: String
+ var displayName: String
+ var email: String
+ var phoneNumber: String
+ var photoURL: String
+ var providerId: String
+ fun toJSON(): Any
+}
+external interface UserRecord {
+ var uid: String
+ var email: String
+ var emailVerified: Boolean
+ var displayName: String
+ var phoneNumber: String
+ var photoURL: String
+ var disabled: Boolean
+ var metadata: UserMetadata
+ var providerData: Array
+ var passwordHash: String? get() = definedExternally; set(value) = definedExternally
+ var passwordSalt: String? get() = definedExternally; set(value) = definedExternally
+ var customClaims: Any? get() = definedExternally; set(value) = definedExternally
+ var tokensValidAfterTime: String? get() = definedExternally; set(value) = definedExternally
+ fun toJSON(): Any
+}
+external interface UpdateRequest {
+ var displayName: String? get() = definedExternally; set(value) = definedExternally
+ var email: String? get() = definedExternally; set(value) = definedExternally
+ var emailVerified: Boolean? get() = definedExternally; set(value) = definedExternally
+ var phoneNumber: String? get() = definedExternally; set(value) = definedExternally
+ var photoURL: String? get() = definedExternally; set(value) = definedExternally
+ var disabled: Boolean? get() = definedExternally; set(value) = definedExternally
+ var password: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface CreateRequest : UpdateRequest {
+ var uid: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$0` {
+ var identities: Json
+ var sign_in_provider: String
+ @nativeGetter
+ operator fun get(key: String): Any?
+ @nativeSetter
+ operator fun set(key: String, value: Any)
+}
+external interface DecodedIdToken {
+ var aud: String
+ var auth_time: Number
+ var exp: Number
+ var firebase: `T$0`
+ var iat: Number
+ var iss: String
+ var sub: String
+ var uid: String
+ @nativeGetter
+ operator fun get(key: String): Any?
+ @nativeSetter
+ operator fun set(key: String, value: Any)
+}
+external interface ListUsersResult {
+ var users: Array
+ var pageToken: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface HashAlgorithmType {
+ @nativeInvoke
+ operator fun invoke(): dynamic /* String /* "SCRYPT" */ | String /* "STANDARD_SCRYPT" */ | String /* "HMAC_SHA512" */ | String /* "HMAC_SHA256" */ | String /* "HMAC_SHA1" */ | String /* "HMAC_MD5" */ | String /* "MD5" */ | String /* "PBKDF_SHA1" */ | String /* "BCRYPT" */ | String /* "PBKDF2_SHA256" */ | String /* "SHA512" */ | String /* "SHA256" */ | String /* "SHA1" */ */
+}
+external interface `T$1` {
+ var algorithm: dynamic /* String /* "SCRYPT" */ | String /* "STANDARD_SCRYPT" */ | String /* "HMAC_SHA512" */ | String /* "HMAC_SHA256" */ | String /* "HMAC_SHA1" */ | String /* "HMAC_MD5" */ | String /* "MD5" */ | String /* "PBKDF_SHA1" */ | String /* "BCRYPT" */ | String /* "PBKDF2_SHA256" */ | String /* "SHA512" */ | String /* "SHA256" */ | String /* "SHA1" */ */
+ // var key: Buffer? get() = definedExternally; set(value) = definedExternally
+ var saltSeparator: String? get() = definedExternally; set(value) = definedExternally
+ var rounds: Number? get() = definedExternally; set(value) = definedExternally
+ var memoryCost: Number? get() = definedExternally; set(value) = definedExternally
+ var parallelization: Number? get() = definedExternally; set(value) = definedExternally
+ var blockSize: Number? get() = definedExternally; set(value) = definedExternally
+ var derivedKeyLength: Number? get() = definedExternally; set(value) = definedExternally
+}
+external interface UserImportOptions {
+ var hash: `T$1`
+}
+external interface UserImportResult {
+ var failureCount: Number
+ var successCount: Number
+ var errors: Array
+}
+external interface `T$2` {
+ var lastSignInTime: String? get() = definedExternally; set(value) = definedExternally
+ var creationTime: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$3` {
+ var uid: String
+ var displayName: String? get() = definedExternally; set(value) = definedExternally
+ var email: String? get() = definedExternally; set(value) = definedExternally
+ var photoURL: String? get() = definedExternally; set(value) = definedExternally
+ var providerId: String
+}
+external interface UserImportRecord {
+ var uid: String
+ var email: String? get() = definedExternally; set(value) = definedExternally
+ var emailVerified: Boolean? get() = definedExternally; set(value) = definedExternally
+ var displayName: String? get() = definedExternally; set(value) = definedExternally
+ var phoneNumber: String? get() = definedExternally; set(value) = definedExternally
+ var photoURL: String? get() = definedExternally; set(value) = definedExternally
+ var disabled: Boolean? get() = definedExternally; set(value) = definedExternally
+ var metadata: `T$2`? get() = definedExternally; set(value) = definedExternally
+ var providerData: Array<`T$3`>? get() = definedExternally; set(value) = definedExternally
+ var customClaims: Any? get() = definedExternally; set(value) = definedExternally
+ // var passwordHash: Buffer? get() = definedExternally; set(value) = definedExternally
+ // var passwordSalt: Buffer? get() = definedExternally; set(value) = definedExternally
+}
+external interface Auth {
+ var app: App
+ fun createCustomToken(uid: String, developerClaims: Any? = definedExternally /* null */): Promise
+ fun createUser(properties: CreateRequest): Promise
+ fun deleteUser(uid: String): Promise
+ fun getUser(uid: String): Promise
+ fun getUserByEmail(email: String): Promise
+ fun getUserByPhoneNumber(phoneNumber: String): Promise
+ fun listUsers(maxResults: Number? = definedExternally /* null */, pageToken: String? = definedExternally /* null */): Promise
+ fun updateUser(uid: String, properties: UpdateRequest): Promise
+ fun verifyIdToken(idToken: String, checkRevoked: Boolean? = definedExternally /* null */): Promise
+ fun setCustomUserClaims(uid: String, customUserClaims: Any): Promise
+ fun revokeRefreshTokens(uid: String): Promise
+ fun importUsers(users: Array, options: UserImportOptions? = definedExternally /* null */): Promise
+}
diff --git a/externals/firebase-admin/v5/src/index.admin.credential.kt b/externals/firebase-admin/v5/src/index.admin.credential.kt
new file mode 100644
index 0000000..a8b4bda
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.credential.kt
@@ -0,0 +1,41 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.credential")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.credential
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.GoogleOAuthAccessToken
+import js.externals.firebase.admin.ServiceAccount
+
+external interface Credential {
+ fun getAccessToken(): Promise
+}
+external fun applicationDefault(): Credential = definedExternally
+external fun cert(serviceAccountPathOrObject: String): Credential = definedExternally
+external fun cert(serviceAccountPathOrObject: ServiceAccount): Credential = definedExternally
+external fun refreshToken(refreshTokenPathOrObject: String): Credential = definedExternally
+external fun refreshToken(refreshTokenPathOrObject: Any): Credential = definedExternally
diff --git a/externals/firebase-admin/v5/src/index.admin.database.ServerValue.kt b/externals/firebase-admin/v5/src/index.admin.database.ServerValue.kt
new file mode 100644
index 0000000..4424ddb
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.database.ServerValue.kt
@@ -0,0 +1,32 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.database.ServerValue")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.database.ServerValue
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+
+external var TIMESTAMP: Number = definedExternally
diff --git a/externals/firebase-admin/v5/src/index.admin.database.kt b/externals/firebase-admin/v5/src/index.admin.database.kt
new file mode 100644
index 0000000..ab5e768
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.database.kt
@@ -0,0 +1,131 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.database")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.database
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.app.App
+
+external interface Database {
+ var app: App
+ fun goOffline()
+ fun goOnline()
+ fun ref(path: String? = definedExternally /* null */): Reference
+ fun ref(path: Reference? = definedExternally /* null */): Reference
+ fun refFromURL(url: String): Reference
+ fun ref(): Reference
+}
+external interface DataSnapshot {
+ var key: String?
+ var ref: Reference
+ fun child(path: String): DataSnapshot
+ fun exists(): Boolean
+ fun exportVal(): Any
+ fun forEach(action: (a: DataSnapshot) -> Boolean): Boolean
+ fun getPriority(): dynamic /* String | Number | Nothing? */
+ fun hasChild(path: String): Boolean
+ fun hasChildren(): Boolean
+ fun numChildren(): Number
+ fun toJSON(): Any?
+ fun `val`(): Any
+}
+external interface OnDisconnect {
+ fun cancel(onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun remove(onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun set(value: Any, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun setWithPriority(value: Any, priority: String, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun setWithPriority(value: Any, priority: Number, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun setWithPriority(value: Any, priority: Nothing?, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun update(values: Any, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+}
+external interface Query {
+ var ref: Reference
+ fun endAt(value: String, key: String? = definedExternally /* null */): Query
+ fun endAt(value: Number, key: String? = definedExternally /* null */): Query
+ fun endAt(value: Boolean, key: String? = definedExternally /* null */): Query
+ fun endAt(value: Nothing?, key: String? = definedExternally /* null */): Query
+ fun equalTo(value: String, key: String? = definedExternally /* null */): Query
+ fun equalTo(value: Number, key: String? = definedExternally /* null */): Query
+ fun equalTo(value: Boolean, key: String? = definedExternally /* null */): Query
+ fun equalTo(value: Nothing?, key: String? = definedExternally /* null */): Query
+ fun isEqual(other: Query?): Boolean
+ fun limitToFirst(limit: Number): Query
+ fun limitToLast(limit: Number): Query
+ fun off(eventType: String? /* "value" */ = definedExternally /* null */, callback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, context: Any? = definedExternally /* null */)
+ fun off(eventType: String? /* "child_added" */ = definedExternally /* null */, callback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, context: Any? = definedExternally /* null */)
+ fun off(eventType: String? /* "child_changed" */ = definedExternally /* null */, callback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, context: Any? = definedExternally /* null */)
+ fun off(eventType: String? /* "child_moved" */ = definedExternally /* null */, callback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, context: Any? = definedExternally /* null */)
+ fun off(eventType: String? /* "child_removed" */ = definedExternally /* null */, callback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, context: Any? = definedExternally /* null */)
+ fun on(eventType: String /* "value" */, callback: (a: DataSnapshot?, b: String? /*= null*/) -> Any, cancelCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): (a: DataSnapshot?, b: String? /*= null*/) -> Any
+ fun on(eventType: String /* "child_added" */, callback: (a: DataSnapshot?, b: String? /*= null*/) -> Any, cancelCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): (a: DataSnapshot?, b: String? /*= null*/) -> Any
+ fun on(eventType: String /* "child_changed" */, callback: (a: DataSnapshot?, b: String? /*= null*/) -> Any, cancelCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): (a: DataSnapshot?, b: String? /*= null*/) -> Any
+ fun on(eventType: String /* "child_moved" */, callback: (a: DataSnapshot?, b: String? /*= null*/) -> Any, cancelCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): (a: DataSnapshot?, b: String? /*= null*/) -> Any
+ fun on(eventType: String /* "child_removed" */, callback: (a: DataSnapshot?, b: String? /*= null*/) -> Any, cancelCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): (a: DataSnapshot?, b: String? /*= null*/) -> Any
+ fun once(eventType: String /* "value" */, successCallback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, failureCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): Promise
+ fun once(eventType: String /* "child_added" */, successCallback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, failureCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): Promise
+ fun once(eventType: String /* "child_changed" */, successCallback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, failureCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): Promise
+ fun once(eventType: String /* "child_moved" */, successCallback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, failureCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): Promise
+ fun once(eventType: String /* "child_removed" */, successCallback: ((a: DataSnapshot, b: String? /*= null*/) -> Any)? = definedExternally /* null */, failureCallbackOrContext: Any? = definedExternally /* null */, context: Any? = definedExternally /* null */): Promise
+ fun orderByChild(path: String): Query
+ fun orderByKey(): Query
+ fun orderByPriority(): Query
+ fun orderByValue(): Query
+ fun startAt(value: String, key: String? = definedExternally /* null */): Query
+ fun startAt(value: Number, key: String? = definedExternally /* null */): Query
+ fun startAt(value: Boolean, key: String? = definedExternally /* null */): Query
+ fun startAt(value: Nothing?, key: String? = definedExternally /* null */): Query
+ fun toJSON(): Any
+ override fun toString(): String
+ fun off()
+}
+external interface `T$4` {
+ var committed: Boolean
+ var snapshot: DataSnapshot?
+}
+external interface Reference : Query {
+ var key: String?
+ var parent: Reference?
+ var root: Reference
+ var path: String
+ fun child(path: String): Reference
+ fun onDisconnect(): OnDisconnect
+ // fun push(value: Any? = definedExternally /* null */, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): ThenableReference
+ fun remove(onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun set(value: Any, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun setPriority(priority: String, onComplete: (a: Error?) -> Any): Promise
+ fun setPriority(priority: Number, onComplete: (a: Error?) -> Any): Promise
+ fun setPriority(priority: Nothing?, onComplete: (a: Error?) -> Any): Promise
+ fun setWithPriority(newVal: Any, newPriority: String, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun setWithPriority(newVal: Any, newPriority: Number, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun setWithPriority(newVal: Any, newPriority: Nothing?, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+ fun transaction(transactionUpdate: (a: Any) -> Any, onComplete: ((a: Error?, b: Boolean, c: DataSnapshot?) -> Any)? = definedExternally /* null */, applyLocally: Boolean? = definedExternally /* null */): Promise<`T$4`>
+ fun update(values: Any, onComplete: ((a: Error?) -> Any)? = definedExternally /* null */): Promise
+}
+// external interface ThenableReference : Reference, PromiseLike
+external fun enableLogging(logger: Boolean? = definedExternally /* null */, persistent: Boolean? = definedExternally /* null */): Any = definedExternally
+external fun enableLogging(logger: ((message: String) -> Any)? = definedExternally /* null */, persistent: Boolean? = definedExternally /* null */): Any = definedExternally
+external fun enableLogging(): Any = definedExternally
diff --git a/externals/firebase-admin/v5/src/index.admin.instanceId.kt b/externals/firebase-admin/v5/src/index.admin.instanceId.kt
new file mode 100644
index 0000000..e2ea724
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.instanceId.kt
@@ -0,0 +1,36 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.instanceId")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.instanceId
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.app.App
+
+external interface InstanceId {
+ var app: App
+ fun deleteInstanceId(instanceId: String): Promise
+}
diff --git a/externals/firebase-admin/v5/src/index.admin.kt b/externals/firebase-admin/v5/src/index.admin.kt
new file mode 100644
index 0000000..3442697
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.kt
@@ -0,0 +1,76 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.app.App
+import js.externals.firebase.admin.AppOptions
+import js.externals.firebase.admin.auth.Auth
+import js.externals.firebase.admin.credential.Credential
+import js.externals.firebase.admin.database.Database
+import js.externals.firebase.admin.FirebaseFirestore.Firestore
+import js.externals.firebase.admin.messaging.Messaging
+import js.externals.firebase.admin.storage.Storage
+import js.externals.firebase.admin.instanceId.InstanceId
+
+external interface FirebaseError {
+ var code: String
+ var message: String
+ var stack: String
+ fun toJSON(): Any
+}
+external interface FirebaseArrayIndexError {
+ var index: Number
+ var error: FirebaseError
+}
+external interface ServiceAccount {
+ var projectId: String? get() = definedExternally; set(value) = definedExternally
+ var clientEmail: String? get() = definedExternally; set(value) = definedExternally
+ var privateKey: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface GoogleOAuthAccessToken {
+ var access_token: String
+ var expires_in: Number
+}
+external interface AppOptions {
+ var credential: Credential? get() = definedExternally; set(value) = definedExternally
+ var databaseAuthVariableOverride: Any? get() = definedExternally; set(value) = definedExternally
+ var databaseURL: String? get() = definedExternally; set(value) = definedExternally
+ var storageBucket: String? get() = definedExternally; set(value) = definedExternally
+ var projectId: String? get() = definedExternally; set(value) = definedExternally
+}
+external var SDK_VERSION: String = definedExternally
+external var apps: Array = definedExternally
+external fun app(name: String? = definedExternally /* null */): App = definedExternally
+external fun auth(app: App? = definedExternally /* null */): Auth = definedExternally
+external fun database(app: App? = definedExternally /* null */): Database = definedExternally
+external fun messaging(app: App? = definedExternally /* null */): Messaging = definedExternally
+external fun storage(app: App? = definedExternally /* null */): Storage = definedExternally
+external fun firestore(app: App? = definedExternally /* null */): Firestore = definedExternally
+external fun instanceId(app: App? = definedExternally /* null */): InstanceId = definedExternally
+external fun initializeApp(options: AppOptions? = definedExternally /* null */, name: String? = definedExternally /* null */): App = definedExternally
diff --git a/externals/firebase-admin/v5/src/index.admin.messaging.kt b/externals/firebase-admin/v5/src/index.admin.messaging.kt
new file mode 100644
index 0000000..f69a500
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.messaging.kt
@@ -0,0 +1,191 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.messaging")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.messaging
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.app.App
+import js.externals.firebase.ConditionMessage
+import js.externals.firebase.TokenMessage
+import js.externals.firebase.TopicMessage
+import js.externals.firebase.admin.FirebaseError
+import js.externals.firebase.admin.FirebaseArrayIndexError
+
+external interface `T$6` {
+ @nativeGetter
+ operator fun get(key: String): String?
+ @nativeSetter
+ operator fun set(key: String, value: String)
+}
+external interface AndroidConfig {
+ var collapseKey: String? get() = definedExternally; set(value) = definedExternally
+ var priority: dynamic /* String /* "high" */ | String /* "normal" */ */ get() = definedExternally; set(value) = definedExternally
+ var ttl: Number? get() = definedExternally; set(value) = definedExternally
+ var restrictedPackageName: String? get() = definedExternally; set(value) = definedExternally
+ var data: `T$6`? get() = definedExternally; set(value) = definedExternally
+ var notification: AndroidNotification? get() = definedExternally; set(value) = definedExternally
+}
+external interface AndroidNotification {
+ var title: String? get() = definedExternally; set(value) = definedExternally
+ var body: String? get() = definedExternally; set(value) = definedExternally
+ var icon: String? get() = definedExternally; set(value) = definedExternally
+ var color: String? get() = definedExternally; set(value) = definedExternally
+ var sound: String? get() = definedExternally; set(value) = definedExternally
+ var tag: String? get() = definedExternally; set(value) = definedExternally
+ var clickAction: String? get() = definedExternally; set(value) = definedExternally
+ var bodyLocKey: String? get() = definedExternally; set(value) = definedExternally
+ var bodyLocArgs: Array? get() = definedExternally; set(value) = definedExternally
+ var titleLocKey: String? get() = definedExternally; set(value) = definedExternally
+ var titleLocArgs: Array? get() = definedExternally; set(value) = definedExternally
+}
+external interface ApnsConfig {
+ var headers: `T$6`? get() = definedExternally; set(value) = definedExternally
+ var payload: ApnsPayload? get() = definedExternally; set(value) = definedExternally
+}
+external interface ApnsPayload {
+ var aps: Aps
+ @nativeGetter
+ operator fun get(customData: String): Any?
+ @nativeSetter
+ operator fun set(customData: String, value: Any)
+}
+external interface Aps {
+ var alert: dynamic /* String | admin.messaging.ApsAlert */ get() = definedExternally; set(value) = definedExternally
+ var badge: Number? get() = definedExternally; set(value) = definedExternally
+ var sound: String? get() = definedExternally; set(value) = definedExternally
+ var contentAvailable: Boolean? get() = definedExternally; set(value) = definedExternally
+ var category: String? get() = definedExternally; set(value) = definedExternally
+ var threadId: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface ApsAlert {
+ var title: String? get() = definedExternally; set(value) = definedExternally
+ var body: String? get() = definedExternally; set(value) = definedExternally
+ var locKey: String? get() = definedExternally; set(value) = definedExternally
+ var locArgs: Array? get() = definedExternally; set(value) = definedExternally
+ var titleLocKey: String? get() = definedExternally; set(value) = definedExternally
+ var titleLocArgs: Array? get() = definedExternally; set(value) = definedExternally
+ var actionLocKey: String? get() = definedExternally; set(value) = definedExternally
+ var launchImage: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface Notification {
+ var title: String? get() = definedExternally; set(value) = definedExternally
+ var body: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface WebpushConfig {
+ var headers: `T$6`? get() = definedExternally; set(value) = definedExternally
+ var data: `T$6`? get() = definedExternally; set(value) = definedExternally
+ var notification: WebpushNotification? get() = definedExternally; set(value) = definedExternally
+}
+external interface WebpushNotification {
+ var title: String? get() = definedExternally; set(value) = definedExternally
+ var body: String? get() = definedExternally; set(value) = definedExternally
+ var icon: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface DataMessagePayload {
+ @nativeGetter
+ operator fun get(key: String): String?
+ @nativeSetter
+ operator fun set(key: String, value: String)
+}
+external interface NotificationMessagePayload {
+ var tag: String? get() = definedExternally; set(value) = definedExternally
+ var body: String? get() = definedExternally; set(value) = definedExternally
+ var icon: String? get() = definedExternally; set(value) = definedExternally
+ var badge: String? get() = definedExternally; set(value) = definedExternally
+ var color: String? get() = definedExternally; set(value) = definedExternally
+ var sound: String? get() = definedExternally; set(value) = definedExternally
+ var title: String? get() = definedExternally; set(value) = definedExternally
+ var bodyLocKey: String? get() = definedExternally; set(value) = definedExternally
+ var bodyLocArgs: String? get() = definedExternally; set(value) = definedExternally
+ var clickAction: String? get() = definedExternally; set(value) = definedExternally
+ var titleLocKey: String? get() = definedExternally; set(value) = definedExternally
+ var titleLocArgs: String? get() = definedExternally; set(value) = definedExternally
+ @nativeGetter
+ operator fun get(key: String): String?
+ @nativeSetter
+ operator fun set(key: String, value: String?)
+}
+external interface MessagingPayload {
+ var data: DataMessagePayload? get() = definedExternally; set(value) = definedExternally
+ var notification: NotificationMessagePayload? get() = definedExternally; set(value) = definedExternally
+}
+external interface MessagingOptions {
+ var dryRun: Boolean? get() = definedExternally; set(value) = definedExternally
+ var priority: String? get() = definedExternally; set(value) = definedExternally
+ var timeToLive: Number? get() = definedExternally; set(value) = definedExternally
+ var collapseKey: String? get() = definedExternally; set(value) = definedExternally
+ var mutableContent: Boolean? get() = definedExternally; set(value) = definedExternally
+ var contentAvailable: Boolean? get() = definedExternally; set(value) = definedExternally
+ var restrictedPackageName: String? get() = definedExternally; set(value) = definedExternally
+ @nativeGetter
+ operator fun get(key: String): Any?
+ @nativeSetter
+ operator fun set(key: String, value: Any?)
+}
+external interface MessagingDeviceResult {
+ var error: FirebaseError? get() = definedExternally; set(value) = definedExternally
+ var messageId: String? get() = definedExternally; set(value) = definedExternally
+ var canonicalRegistrationToken: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface MessagingDevicesResponse {
+ var canonicalRegistrationTokenCount: Number
+ var failureCount: Number
+ var multicastId: Number
+ var results: Array
+ var successCount: Number
+}
+external interface MessagingDeviceGroupResponse {
+ var successCount: Number
+ var failureCount: Number
+ var failedRegistrationTokens: Array
+}
+external interface MessagingTopicResponse {
+ var messageId: Number
+}
+external interface MessagingConditionResponse {
+ var messageId: Number
+}
+external interface MessagingTopicManagementResponse {
+ var failureCount: Number
+ var successCount: Number
+ var errors: Array
+}
+external interface Messaging {
+ var app: App
+ fun send(message: TokenMessage, dryRun: Boolean? = definedExternally /* null */): Promise
+ fun send(message: TopicMessage, dryRun: Boolean? = definedExternally /* null */): Promise
+ fun send(message: ConditionMessage, dryRun: Boolean? = definedExternally /* null */): Promise
+ fun sendToDevice(registrationToken: String, payload: MessagingPayload, options: MessagingOptions? = definedExternally /* null */): Promise
+ fun sendToDevice(registrationToken: Array, payload: MessagingPayload, options: MessagingOptions? = definedExternally /* null */): Promise
+ fun sendToDeviceGroup(notificationKey: String, payload: MessagingPayload, options: MessagingOptions? = definedExternally /* null */): Promise
+ fun sendToTopic(topic: String, payload: MessagingPayload, options: MessagingOptions? = definedExternally /* null */): Promise
+ fun sendToCondition(condition: String, payload: MessagingPayload, options: MessagingOptions? = definedExternally /* null */): Promise
+ fun subscribeToTopic(registrationToken: String, topic: String): Promise
+ fun subscribeToTopic(registrationTokens: Array, topic: String): Promise
+ fun unsubscribeFromTopic(registrationToken: String, topic: String): Promise
+ fun unsubscribeFromTopic(registrationTokens: Array, topic: String): Promise
+}
diff --git a/externals/firebase-admin/v5/src/index.admin.storage.kt b/externals/firebase-admin/v5/src/index.admin.storage.kt
new file mode 100644
index 0000000..a6e9a57
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.admin.storage.kt
@@ -0,0 +1,37 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("admin.storage")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase.admin.storage
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.app.App
+import js.externals.firebase.admin.google.cloud.Storage.Bucket
+
+external interface Storage {
+ var app: App
+ fun bucket(name: String? = definedExternally /* null */): Bucket
+}
diff --git a/externals/firebase-admin/v5/src/index.kt b/externals/firebase-admin/v5/src/index.kt
new file mode 100644
index 0000000..b352060
--- /dev/null
+++ b/externals/firebase-admin/v5/src/index.kt
@@ -0,0 +1,55 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-admin
+//
+// Package: firebase-admin (https://www.npmjs.com/package/firebase-admin)
+//
+// Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-admin")
+package js.externals.firebase
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.admin.messaging.AndroidConfig
+import js.externals.firebase.admin.messaging.WebpushConfig
+import js.externals.firebase.admin.messaging.ApnsConfig
+
+external interface `T$5` {
+ @nativeGetter
+ operator fun get(key: String): String?
+ @nativeSetter
+ operator fun set(key: String, value: String)
+}
+external interface BaseMessage {
+ var data: `T$5`? get() = definedExternally; set(value) = definedExternally
+ var notification: Notification? get() = definedExternally; set(value) = definedExternally
+ var android: AndroidConfig? get() = definedExternally; set(value) = definedExternally
+ var webpush: WebpushConfig? get() = definedExternally; set(value) = definedExternally
+ var apns: ApnsConfig? get() = definedExternally; set(value) = definedExternally
+}
+external interface TokenMessage : BaseMessage {
+ var token: String
+}
+external interface TopicMessage : BaseMessage {
+ var topic: String
+}
+external interface ConditionMessage : BaseMessage {
+ var condition: String
+}
diff --git a/externals/firebase-functions/README.md b/externals/firebase-functions/README.md
new file mode 100644
index 0000000..05585f2
--- /dev/null
+++ b/externals/firebase-functions/README.md
@@ -0,0 +1 @@
+## Kotlin JS External Definitions for firebase-functions
\ No newline at end of file
diff --git a/externals/firebase-functions/_testShared/test.kt b/externals/firebase-functions/_testShared/test.kt
new file mode 100644
index 0000000..95a80b8
--- /dev/null
+++ b/externals/firebase-functions/_testShared/test.kt
@@ -0,0 +1,7 @@
+import js.externals.firebase.functions.providers.analytics.AnalyticsEvent
+import js.externals.firebase.functions.providers.firestore.*
+
+fun test() {
+ val analyticsEvent = AnalyticsEvent()
+ val firestoreDocument = document("/some/path")
+}
\ No newline at end of file
diff --git a/externals/firebase-functions/package.json b/externals/firebase-functions/package.json
new file mode 100644
index 0000000..a976175
--- /dev/null
+++ b/externals/firebase-functions/package.json
@@ -0,0 +1,3 @@
+{
+ "description": "firebase-functions"
+}
\ No newline at end of file
diff --git a/externals/firebase-functions/v1/konfig.json b/externals/firebase-functions/v1/konfig.json
new file mode 100644
index 0000000..8364fe8
--- /dev/null
+++ b/externals/firebase-functions/v1/konfig.json
@@ -0,0 +1,3 @@
+{
+ "version": "1.0.0"
+}
\ No newline at end of file
diff --git a/externals/firebase-functions/v1/src/cloud-functions.kt b/externals/firebase-functions/v1/src/cloud-functions.kt
new file mode 100644
index 0000000..0e64fff
--- /dev/null
+++ b/externals/firebase-functions/v1/src/cloud-functions.kt
@@ -0,0 +1,91 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+
+external interface `T$0` {
+ var uid: String
+ var token: Any
+}
+external interface EventContext {
+ var eventId: String
+ var timestamp: String
+ var eventType: String
+ var resource: Resource
+ var params: Json
+ var authType: dynamic /* String /* "ADMIN" */ | String /* "USER" */ | String /* "UNAUTHENTICATED" */ */ get() = definedExternally; set(value) = definedExternally
+ var auth: `T$0`? get() = definedExternally; set(value) = definedExternally
+}
+external open class Change(before: T? = definedExternally /* null */, after: T? = definedExternally /* null */) {
+ open var before: T = definedExternally
+ open var after: T = definedExternally
+ companion object {
+ fun fromObjects(before: T, after: T): Change = definedExternally
+ fun fromJSON(json: ChangeJson, customizer: ((any: Any) -> T)? = definedExternally /* null */): Change = definedExternally
+ }
+}
+external interface ChangeJson {
+ var before: Any? get() = definedExternally; set(value) = definedExternally
+ var after: Any? get() = definedExternally; set(value) = definedExternally
+ var fieldMask: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$1` {
+ @nativeGetter
+ operator fun get(tag: String): String?
+ @nativeSetter
+ operator fun set(tag: String, value: String)
+}
+external interface Resource {
+ var service: String
+ var name: String
+ var type: String? get() = definedExternally; set(value) = definedExternally
+ var labels: `T$1`? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$2` {
+ var eventType: String
+ var resource: String
+ var service: String
+}
+external interface `T$3` {
+ var httpsTrigger: Any? get() = definedExternally; set(value) = definedExternally
+ var eventTrigger: `T$2`? get() = definedExternally; set(value) = definedExternally
+}
+external interface TriggerAnnotated {
+ var __trigger: `T$3`
+}
+external interface Runnable {
+ var run: (data: T, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */
+}
+external interface HttpsFunction: TriggerAnnotated {
+ @nativeInvoke
+ operator fun invoke(req: Request, resp: Response)
+}
+external interface CloudFunction: Runnable, TriggerAnnotated {
+ @nativeInvoke
+ operator fun invoke(input: Any): dynamic /* PromiseLike | Any */
+}
diff --git a/externals/firebase-functions/v1/src/config.config.kt b/externals/firebase-functions/v1/src/config.config.kt
new file mode 100644
index 0000000..234d076
--- /dev/null
+++ b/externals/firebase-functions/v1/src/config.config.kt
@@ -0,0 +1,37 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsQualifier("config")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.config.config
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+
+external interface Config {
+ @nativeGetter
+ operator fun get(key: String): Any?
+ @nativeSetter
+ operator fun set(key: String, value: Any)
+}
diff --git a/externals/firebase-functions/v1/src/config.kt b/externals/firebase-functions/v1/src/config.kt
new file mode 100644
index 0000000..24a02b4
--- /dev/null
+++ b/externals/firebase-functions/v1/src/config.kt
@@ -0,0 +1,32 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.config
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.config.config.Config
+
+external fun config(): Config = definedExternally
diff --git a/externals/firebase-functions/v1/src/encoder.kt b/externals/firebase-functions/v1/src/encoder.kt
new file mode 100644
index 0000000..db2ec55
--- /dev/null
+++ b/externals/firebase-functions/v1/src/encoder.kt
@@ -0,0 +1,35 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.encoder
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+
+external interface `T$0` {
+ var seconds: Number
+ var nanos: Number
+}
+external fun dateToTimestampProto(timeString: Any): `T$0` = definedExternally
diff --git a/externals/firebase-functions/v1/src/providers/analytics.kt b/externals/firebase-functions/v1/src/providers/analytics.kt
new file mode 100644
index 0000000..1c6ba2f
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/analytics.kt
@@ -0,0 +1,95 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.analytics
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.EventContext
+import js.externals.firebase.functions.CloudFunction
+
+external fun event(analyticsEventType: String): AnalyticsEventBuilder = definedExternally
+external open class AnalyticsEventBuilder {
+ open var triggerResource: Any = definedExternally
+ open fun onLog(handler: (event: AnalyticsEvent, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+}
+external open class AnalyticsEvent {
+ open var reportingDate: String = definedExternally
+ open var name: String = definedExternally
+ open var params: Json = definedExternally
+ open var logTime: String = definedExternally
+ open var previousLogTime: String = definedExternally
+ open var valueInUSD: Number = definedExternally
+ open var user: UserDimensions = definedExternally
+}
+external interface `T$0` {
+ @nativeGetter
+ operator fun get(key: String): UserPropertyValue?
+ @nativeSetter
+ operator fun set(key: String, value: UserPropertyValue)
+}
+external open class UserDimensions {
+ open var userId: String = definedExternally
+ open var firstOpenTime: String = definedExternally
+ open var userProperties: `T$0` = definedExternally
+ open var deviceInfo: DeviceInfo = definedExternally
+ open var geoInfo: GeoInfo = definedExternally
+ open var appInfo: AppInfo = definedExternally
+ open var bundleInfo: ExportBundleInfo = definedExternally
+}
+external open class UserPropertyValue {
+ open var value: String = definedExternally
+ open var setTime: String = definedExternally
+}
+external interface DeviceInfo {
+ var deviceCategory: String? get() = definedExternally; set(value) = definedExternally
+ var mobileBrandName: String? get() = definedExternally; set(value) = definedExternally
+ var mobileModelName: String? get() = definedExternally; set(value) = definedExternally
+ var mobileMarketingName: String? get() = definedExternally; set(value) = definedExternally
+ var deviceModel: String? get() = definedExternally; set(value) = definedExternally
+ var platformVersion: String? get() = definedExternally; set(value) = definedExternally
+ var deviceId: String? get() = definedExternally; set(value) = definedExternally
+ var resettableDeviceId: String? get() = definedExternally; set(value) = definedExternally
+ var userDefaultLanguage: String
+ var deviceTimeZoneOffsetSeconds: Number
+ var limitedAdTracking: Boolean
+}
+external interface GeoInfo {
+ var continent: String? get() = definedExternally; set(value) = definedExternally
+ var country: String? get() = definedExternally; set(value) = definedExternally
+ var region: String? get() = definedExternally; set(value) = definedExternally
+ var city: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface AppInfo {
+ var appVersion: String? get() = definedExternally; set(value) = definedExternally
+ var appInstanceId: String
+ var appStore: String? get() = definedExternally; set(value) = definedExternally
+ var appPlatform: String
+ var appId: String? get() = definedExternally; set(value) = definedExternally
+}
+external open class ExportBundleInfo {
+ open var bundleSequenceId: Number = definedExternally
+ open var serverTimestampOffset: Number = definedExternally
+}
diff --git a/externals/firebase-functions/v1/src/providers/auth.kt b/externals/firebase-functions/v1/src/providers/auth.kt
new file mode 100644
index 0000000..5c2d711
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/auth.kt
@@ -0,0 +1,62 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.auth
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.EventContext
+import js.externals.firebase.functions.CloudFunction
+
+external interface UserMetadata {
+ var lastSignInTime: String
+ var creationTime: String
+ fun toJSON(): Any
+}
+
+external fun user(): UserBuilder = definedExternally
+external interface `T$0` {
+ var creationTime: String
+ var lastSignInTime: String
+}
+external open class UserRecordMetadata(creationTime: String, lastSignInTime: String) : UserMetadata {
+ override var creationTime: String = definedExternally
+ override var lastSignInTime: String = definedExternally
+ override fun toJSON(): `T$0` = definedExternally
+}
+external open class UserBuilder {
+ open var triggerResource: Any = definedExternally
+ open fun onCreate(handler: (user: UserRecord, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onDelete(handler: (user: UserRecord, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onOperation(handler: Any, eventType: Any): Unit = definedExternally
+ companion object {
+ fun dataConstructor(raw: Any): Unit = definedExternally
+ }
+}
+external interface UserRecord {
+ @nativeInvoke
+ operator fun invoke(): dynamic /* UserRecord */
+}
+external fun userRecordConstructor(wireData: Any): UserRecord = definedExternally
diff --git a/externals/firebase-functions/v1/src/providers/crashlytics.kt b/externals/firebase-functions/v1/src/providers/crashlytics.kt
new file mode 100644
index 0000000..0fdd974
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/crashlytics.kt
@@ -0,0 +1,58 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.crashlytics
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.EventContext
+import js.externals.firebase.functions.CloudFunction
+
+external fun issue(): IssueBuilder = definedExternally
+external open class IssueBuilder {
+ open var triggerResource: Any = definedExternally
+ open fun onNew(handler: (issue: Issue, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onRegressed(handler: (issue: Issue, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onVelocityAlert(handler: (issue: Issue, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onEvent(handler: Any, eventType: Any): Unit = definedExternally
+}
+external interface Issue {
+ var issueId: String
+ var issueTitle: String
+ var appInfo: AppInfo
+ var createTime: String
+ var resolvedTime: String? get() = definedExternally; set(value) = definedExternally
+ var velocityAlert: VelocityAlert? get() = definedExternally; set(value) = definedExternally
+}
+external interface VelocityAlert {
+ var crashPercentage: Number
+ var crashes: Number
+}
+external interface AppInfo {
+ var appName: String
+ var appPlatform: String
+ var appId: String
+ var latestAppVersion: String
+}
diff --git a/externals/firebase-functions/v1/src/providers/database.kt b/externals/firebase-functions/v1/src/providers/database.kt
new file mode 100644
index 0000000..d8b52be
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/database.kt
@@ -0,0 +1,74 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.database
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.EventContext
+import js.externals.firebase.functions.CloudFunction
+import js.externals.firebase.functions.Change
+
+external interface App {}
+external interface Reference {}
+external fun instance(instance: String): InstanceBuilder = definedExternally
+external open class InstanceBuilder {
+ open var instance: Any = definedExternally
+ open fun ref(path: String): RefBuilder = definedExternally
+}
+external fun ref(path: String): RefBuilder = definedExternally
+external open class RefBuilder {
+ open var apps: Any = definedExternally
+ open var triggerResource: Any = definedExternally
+ open fun onWrite(handler: (change: Change, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction> = definedExternally
+ open fun onUpdate(handler: (change: Change, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction> = definedExternally
+ open fun onCreate(handler: (snapshot: DataSnapshot, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onDelete(handler: (snapshot: DataSnapshot, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onOperation(handler: Any, eventType: Any, dataConstructor: Any): Unit = definedExternally
+ open var changeConstructor: Any = definedExternally
+}
+external open class DataSnapshot(data: Any, path: String? = definedExternally /* null */, app: App? = definedExternally /* null */, instance: String? = definedExternally /* null */) {
+ open var app: Any = definedExternally
+ open var instance: String = definedExternally
+ open var _ref: Any = definedExternally
+ open var _path: Any = definedExternally
+ open var _data: Any = definedExternally
+ open var _childPath: Any = definedExternally
+ open var ref: Reference = definedExternally
+ open var key: String = definedExternally
+ open fun `val`(): Any = definedExternally
+ open fun exportVal(): Any = definedExternally
+ open fun getPriority(): dynamic /* String | Number | Nothing? */ = definedExternally
+ open fun exists(): Boolean = definedExternally
+ open fun child(childPath: String): DataSnapshot = definedExternally
+ open fun forEach(action: (a: DataSnapshot) -> Boolean): Boolean = definedExternally
+ open fun hasChild(childPath: String): Boolean = definedExternally
+ open fun hasChildren(): Boolean = definedExternally
+ open fun numChildren(): Number = definedExternally
+ open fun toJSON(): Any = definedExternally
+ open fun _checkAndConvertToArray(node: Any): Unit = definedExternally
+ open fun _dup(childPath: Any? = definedExternally /* null */): Unit = definedExternally
+ open fun _fullPath(): Unit = definedExternally
+}
diff --git a/externals/firebase-functions/v1/src/providers/firestore.kt b/externals/firebase-functions/v1/src/providers/firestore.kt
new file mode 100644
index 0000000..2867b8e
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/firestore.kt
@@ -0,0 +1,56 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.firestore
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.CloudFunction
+import js.externals.firebase.functions.Change
+import js.externals.firebase.functions.EventContext
+
+external interface DocumentSnapshot {
+ @nativeInvoke
+ operator fun invoke(): dynamic /* DocumentSnapshot */
+}
+external fun document(path: String): DocumentBuilder = definedExternally
+external open class DatabaseBuilder {
+ open var database: Any = definedExternally
+ open fun namespace(namespace: String): NamespaceBuilder = definedExternally
+ open fun document(path: String): DocumentBuilder = definedExternally
+}
+external open class NamespaceBuilder {
+ open var database: Any = definedExternally
+ open var namespace: Any = definedExternally
+ open fun document(path: String): DocumentBuilder = definedExternally
+}
+external open class DocumentBuilder {
+ open var triggerResource: Any = definedExternally
+ open fun onWrite(handler: (change: Change, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction> = definedExternally
+ open fun onUpdate(handler: (change: Change, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction> = definedExternally
+ open fun onCreate(handler: (snapshot: DocumentSnapshot, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onDelete(handler: (snapshot: DocumentSnapshot, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onOperation(handler: Any, eventType: Any, dataConstructor: Any): Unit = definedExternally
+}
diff --git a/externals/firebase-functions/v1/src/providers/https.kt b/externals/firebase-functions/v1/src/providers/https.kt
new file mode 100644
index 0000000..4e5b8a4
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/https.kt
@@ -0,0 +1,52 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.https
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.CloudFunction
+import js.externals.firebase.functions.EventContext
+import js.externals.firebase.functions.HttpsFunction
+
+external interface Error {}
+external interface FunctionsErrorCode {
+ @nativeInvoke
+ operator fun invoke(): dynamic /* String /* "ok" */ | String /* "cancelled" */ | String /* "unknown" */ | String /* "invalid-argument" */ | String /* "deadline-exceeded" */ | String /* "not-found" */ | String /* "already-exists" */ | String /* "permission-denied" */ | String /* "resource-exhausted" */ | String /* "failed-precondition" */ | String /* "aborted" */ | String /* "out-of-range" */ | String /* "unimplemented" */ | String /* "internal" */ | String /* "unavailable" */ | String /* "data-loss" */ | String /* "unauthenticated" */ */
+}
+external fun onRequest(handler: (req: dynamic /* express.Request */, resp: dynamic /* express.Response */) -> Unit): HttpsFunction = definedExternally
+external open class HttpsError(code: dynamic /* String /* "ok" */ | String /* "cancelled" */ | String /* "unknown" */ | String /* "invalid-argument" */ | String /* "deadline-exceeded" */ | String /* "not-found" */ | String /* "already-exists" */ | String /* "permission-denied" */ | String /* "resource-exhausted" */ | String /* "failed-precondition" */ | String /* "aborted" */ | String /* "out-of-range" */ | String /* "unimplemented" */ | String /* "internal" */ | String /* "unavailable" */ | String /* "data-loss" */ | String /* "unauthenticated" */ */, message: String? = definedExternally /* null */, details: Any? = definedExternally /* null */) : Error {
+ open var code: dynamic /* String /* "ok" */ | String /* "cancelled" */ | String /* "unknown" */ | String /* "invalid-argument" */ | String /* "deadline-exceeded" */ | String /* "not-found" */ | String /* "already-exists" */ | String /* "permission-denied" */ | String /* "resource-exhausted" */ | String /* "failed-precondition" */ | String /* "aborted" */ | String /* "out-of-range" */ | String /* "unimplemented" */ | String /* "internal" */ | String /* "unavailable" */ | String /* "data-loss" */ | String /* "unauthenticated" */ */ = definedExternally
+ open var details: Any = definedExternally
+}
+external interface `T$0` {
+ var uid: String
+ // var token: firebase.auth.DecodedIdToken
+}
+external interface CallableContext {
+ var auth: `T$0`? get() = definedExternally; set(value) = definedExternally
+ var instanceIdToken: String? get() = definedExternally; set(value) = definedExternally
+}
+external fun onCall(handler: (data: Any, context: CallableContext) -> dynamic /* Any | Promise */): HttpsFunction = definedExternally
diff --git a/externals/firebase-functions/v1/src/providers/pubsub.kt b/externals/firebase-functions/v1/src/providers/pubsub.kt
new file mode 100644
index 0000000..55b8eec
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/pubsub.kt
@@ -0,0 +1,50 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.pubsub
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.CloudFunction
+import js.externals.firebase.functions.EventContext
+
+external fun topic(topic: String): TopicBuilder = definedExternally
+external open class TopicBuilder {
+ open var triggerResource: Any = definedExternally
+ open fun onPublish(handler: (message: Message, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+}
+external interface `T$0` {
+ @nativeGetter
+ operator fun get(key: String): String?
+ @nativeSetter
+ operator fun set(key: String, value: String)
+}
+external open class Message(data: Any) {
+ open var data: String = definedExternally
+ open var attributes: `T$0` = definedExternally
+ open var _json: Any = definedExternally
+ open var json: Any = definedExternally
+ open fun toJSON(): Any = definedExternally
+}
diff --git a/externals/firebase-functions/v1/src/providers/storage.kt b/externals/firebase-functions/v1/src/providers/storage.kt
new file mode 100644
index 0000000..5bfb57e
--- /dev/null
+++ b/externals/firebase-functions/v1/src/providers/storage.kt
@@ -0,0 +1,108 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.providers.storage
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+import js.externals.firebase.functions.CloudFunction
+import js.externals.firebase.functions.EventContext
+
+external fun bucket(bucket: String? = definedExternally /* null */): BucketBuilder = definedExternally
+external fun `object`(): ObjectBuilder = definedExternally
+external open class BucketBuilder {
+ open var triggerResource: Any = definedExternally
+ open fun `object`(): ObjectBuilder = definedExternally
+}
+external open class ObjectBuilder {
+ open var triggerResource: Any = definedExternally
+ open fun onArchive(handler: (`object`: ObjectMetadata, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onDelete(handler: (`object`: ObjectMetadata, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onFinalize(handler: (`object`: ObjectMetadata, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onMetadataUpdate(handler: (`object`: ObjectMetadata, context: EventContext? /*= null*/) -> dynamic /* PromiseLike | Any */): CloudFunction = definedExternally
+ open fun onOperation(handler: Any, eventType: Any): Unit = definedExternally
+}
+external interface `T$0` {
+ @nativeGetter
+ operator fun get(key: String): String?
+ @nativeSetter
+ operator fun set(key: String, value: String)
+}
+external interface `T$1` {
+ var projectNumber: String? get() = definedExternally; set(value) = definedExternally
+ var team: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$2` {
+ var kind: String? get() = definedExternally; set(value) = definedExternally
+ var id: String? get() = definedExternally; set(value) = definedExternally
+ var selfLink: String? get() = definedExternally; set(value) = definedExternally
+ var bucket: String? get() = definedExternally; set(value) = definedExternally
+ var `object`: String? get() = definedExternally; set(value) = definedExternally
+ var generation: String? get() = definedExternally; set(value) = definedExternally
+ var entity: String? get() = definedExternally; set(value) = definedExternally
+ var role: String? get() = definedExternally; set(value) = definedExternally
+ var email: String? get() = definedExternally; set(value) = definedExternally
+ var entityId: String? get() = definedExternally; set(value) = definedExternally
+ var domain: String? get() = definedExternally; set(value) = definedExternally
+ var projectTeam: `T$1`? get() = definedExternally; set(value) = definedExternally
+ var etag: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$3` {
+ var entity: String? get() = definedExternally; set(value) = definedExternally
+ var entityId: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface `T$4` {
+ var encryptionAlgorithm: String? get() = definedExternally; set(value) = definedExternally
+ var keySha256: String? get() = definedExternally; set(value) = definedExternally
+}
+external interface ObjectMetadata {
+ var kind: String
+ var id: String
+ var bucket: String
+ var storageClass: String
+ var size: String
+ var timeCreated: String
+ var updated: String
+ var selfLink: String? get() = definedExternally; set(value) = definedExternally
+ var name: String? get() = definedExternally; set(value) = definedExternally
+ var generation: String? get() = definedExternally; set(value) = definedExternally
+ var contentType: String? get() = definedExternally; set(value) = definedExternally
+ var metageneration: String? get() = definedExternally; set(value) = definedExternally
+ var timeDeleted: String? get() = definedExternally; set(value) = definedExternally
+ var timeStorageClassUpdated: String? get() = definedExternally; set(value) = definedExternally
+ var md5Hash: String? get() = definedExternally; set(value) = definedExternally
+ var mediaLink: String? get() = definedExternally; set(value) = definedExternally
+ var contentEncoding: String? get() = definedExternally; set(value) = definedExternally
+ var contentDisposition: String? get() = definedExternally; set(value) = definedExternally
+ var contentLanguage: String? get() = definedExternally; set(value) = definedExternally
+ var cacheControl: String? get() = definedExternally; set(value) = definedExternally
+ var metadata: `T$0`? get() = definedExternally; set(value) = definedExternally
+ var acl: dynamic /* JsTuple<`T$2`> */ get() = definedExternally; set(value) = definedExternally
+ var owner: `T$3`? get() = definedExternally; set(value) = definedExternally
+ var crc32c: String? get() = definedExternally; set(value) = definedExternally
+ var componentCount: String? get() = definedExternally; set(value) = definedExternally
+ var etag: String? get() = definedExternally; set(value) = definedExternally
+ var customerEncryption: `T$4`? get() = definedExternally; set(value) = definedExternally
+}
diff --git a/externals/firebase-functions/v1/src/utils.kt b/externals/firebase-functions/v1/src/utils.kt
new file mode 100644
index 0000000..f361de4
--- /dev/null
+++ b/externals/firebase-functions/v1/src/utils.kt
@@ -0,0 +1,36 @@
+// Generated using ts2kt(https://github.com/Kotlin/ts2kt)
+//
+// Headers for firebase-functions
+//
+// Package: firebase-functions (https://www.npmjs.com/package/firebase-functions)
+//
+// © Google, 2017. Licensed under The MIT License. (https://github.com/firebase/firebase-functions/blob/master/LICENSE)
+//
+// Contributed by: Pavlos-Petros Tournaris
+
+@file:Suppress("INTERFACE_WITH_SUPERCLASS", "OVERRIDING_FINAL_MEMBER", "RETURN_TYPE_MISMATCH_ON_OVERRIDE", "CONFLICTING_OVERLOADS", "EXTERNAL_DELEGATION", "NESTED_CLASS_IN_EXTERNAL_INTERFACE")
+@file:JsNonModule
+@file:JsModule("firebase-functions")
+package js.externals.firebase.functions.utils
+
+import kotlin.js.*
+import kotlin.js.Json
+import org.khronos.webgl.*
+import org.w3c.dom.*
+import org.w3c.dom.events.*
+import org.w3c.dom.parsing.*
+import org.w3c.dom.svg.*
+import org.w3c.dom.url.*
+import org.w3c.fetch.*
+import org.w3c.files.*
+import org.w3c.notifications.*
+import org.w3c.performance.*
+import org.w3c.workers.*
+import org.w3c.xhr.*
+
+external fun normalizePath(path: String): String = definedExternally
+external fun pathParts(path: String): Array = definedExternally
+external fun joinPath(base: String, child: String): String = definedExternally
+external fun applyChange(src: Any, dest: Any): Any = definedExternally
+external fun pruneNulls(obj: Any): Any = definedExternally
+external fun valAt(source: Any, path: String? = definedExternally /* null */): Any = definedExternally