import { a as FragnoPublicClientConfig, n as FragnoClientMutatorData, o as NonGetHTTPMethod, t as FragnoClientHookData } from "./client-BumUy6cu.js"; import * as _fragno_dev_core0 from "@fragno-dev/core"; import { FragnoRouteConfig } from "@fragno-dev/core"; import * as zod from "zod"; import { z } from "zod"; import * as _fragno_dev_db_schema0 from "@fragno-dev/db/schema"; import * as zod_v4_core0 from "zod/v4/core"; import * as _standard_schema_spec0 from "@standard-schema/spec"; import * as _fragno_dev_db0 from "@fragno-dev/db"; import { FragnoPublicConfigWithDatabase, HookFn, HookHandlerTx } from "@fragno-dev/db"; import * as _fragno_dev_db_fragment_definition_builder0 from "@fragno-dev/db/fragment-definition-builder"; //#region src/types.d.ts declare const telegramChatTypeSchema: z.ZodEnum<{ private: "private"; group: "group"; supergroup: "supergroup"; channel: "channel"; }>; type TelegramChatType = z.infer; type TelegramCommandScope = TelegramChatType; declare const telegramPhotoSizeSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; width: z.ZodNumber; height: z.ZodNumber; fileSize: z.ZodOptional; }, z.core.$strip>; type TelegramPhotoSize = z.infer; declare const telegramVoiceSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; duration: z.ZodNumber; mimeType: z.ZodOptional; fileSize: z.ZodOptional; }, z.core.$strip>; type TelegramVoice = z.infer; declare const telegramAudioSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; duration: z.ZodNumber; performer: z.ZodOptional; title: z.ZodOptional; fileName: z.ZodOptional; mimeType: z.ZodOptional; fileSize: z.ZodOptional; thumbnail: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; type TelegramAudio = z.infer; declare const telegramDocumentSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; fileName: z.ZodOptional; mimeType: z.ZodOptional; fileSize: z.ZodOptional; thumbnail: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; type TelegramDocument = z.infer; declare const telegramVideoSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; width: z.ZodNumber; height: z.ZodNumber; duration: z.ZodNumber; fileName: z.ZodOptional; mimeType: z.ZodOptional; fileSize: z.ZodOptional; thumbnail: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; type TelegramVideo = z.infer; declare const telegramVideoNoteSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; length: z.ZodNumber; duration: z.ZodNumber; fileSize: z.ZodOptional; thumbnail: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; type TelegramVideoNote = z.infer; declare const telegramStickerSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; type: z.ZodEnum<{ regular: "regular"; mask: "mask"; custom_emoji: "custom_emoji"; }>; width: z.ZodNumber; height: z.ZodNumber; isAnimated: z.ZodBoolean; isVideo: z.ZodBoolean; thumbnail: z.ZodOptional; }, z.core.$strip>>; emoji: z.ZodOptional; setName: z.ZodOptional; fileSize: z.ZodOptional; }, z.core.$strip>; type TelegramSticker = z.infer; declare const telegramAnimationSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; width: z.ZodNumber; height: z.ZodNumber; duration: z.ZodNumber; fileName: z.ZodOptional; mimeType: z.ZodOptional; fileSize: z.ZodOptional; thumbnail: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; type TelegramAnimation = z.infer; declare const telegramAttachmentKindSchema: z.ZodEnum<{ photo: "photo"; voice: "voice"; audio: "audio"; document: "document"; video: "video"; video_note: "video_note"; sticker: "sticker"; animation: "animation"; }>; type TelegramAttachmentKind = z.infer; declare const telegramAttachmentPhotoSizeSchema: z.ZodObject<{ fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; type TelegramAttachmentPhotoSize = z.infer; declare const telegramAttachmentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"photo">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; sizes: z.ZodArray; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"voice">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; duration: z.ZodNumber; mimeType: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"audio">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; duration: z.ZodNumber; performer: z.ZodOptional; title: z.ZodOptional; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"document">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"video">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; duration: z.ZodNumber; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"video_note">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; length: z.ZodNumber; duration: z.ZodNumber; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"sticker">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; emoji: z.ZodOptional; setName: z.ZodOptional; isAnimated: z.ZodBoolean; isVideo: z.ZodBoolean; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"animation">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; duration: z.ZodNumber; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>], "kind">; type TelegramAttachment = z.infer; declare const telegramMessageEntitySchema: z.ZodObject<{ type: z.ZodString; offset: z.ZodNumber; length: z.ZodNumber; }, z.core.$strip>; type TelegramMessageEntity = z.infer; declare const telegramUserSchema: z.ZodObject<{ id: z.ZodNumber; isBot: z.ZodBoolean; firstName: z.ZodString; lastName: z.ZodOptional; username: z.ZodOptional; languageCode: z.ZodOptional; }, z.core.$strip>; type TelegramUser = z.infer; declare const telegramChatSchema: z.ZodObject<{ id: z.ZodNumber; type: z.ZodEnum<{ private: "private"; group: "group"; supergroup: "supergroup"; channel: "channel"; }>; title: z.ZodOptional; username: z.ZodOptional; firstName: z.ZodOptional; lastName: z.ZodOptional; isForum: z.ZodOptional; }, z.core.$strip>; type TelegramChat = z.infer; interface TelegramMessage { messageId: number; date: number; editDate?: number; text?: string; from?: TelegramUser; senderChat?: TelegramChat; chat: TelegramChat; replyToMessage?: TelegramMessage; newChatMembers?: TelegramUser[]; leftChatMember?: TelegramUser; entities?: TelegramMessageEntity[]; mediaGroupId?: string; photo?: TelegramPhotoSize[]; voice?: TelegramVoice; audio?: TelegramAudio; document?: TelegramDocument; video?: TelegramVideo; videoNote?: TelegramVideoNote; sticker?: TelegramSticker; animation?: TelegramAnimation; } interface TelegramUpdate { updateId: number; message?: TelegramMessage; editedMessage?: TelegramMessage; channelPost?: TelegramMessage; } type TelegramUpdateType = "message" | "edited_message" | "channel_post"; declare const telegramCommandBindingSchema: z.ZodObject<{ enabled: z.ZodOptional; scopes: z.ZodOptional>>; }, z.core.$strip>; type TelegramCommandBinding = z.infer; declare const telegramCommandBindingsSchema: z.ZodRecord; scopes: z.ZodOptional>>; }, z.core.$strip>>; type TelegramCommandBindings = z.infer; interface TelegramUserSummary { id: string; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; } interface TelegramChatSummary { id: string; type: TelegramChatType; title: string | null; username: string | null; isForum: boolean; commandBindings: TelegramCommandBindings | null; createdAt: Date; updatedAt: Date; } interface TelegramChatMemberSummary { id: string; chatId: string; userId: string; status: string; joinedAt: Date | null; leftAt: Date | null; user: TelegramUserSummary | null; createdAt: Date; updatedAt: Date; } interface TelegramMessageSummary { id: string; chatId: string; fromUserId: string | null; senderChatId: string | null; replyToMessageId: string | null; messageType: TelegramUpdateType; text: string | null; attachments: TelegramAttachment[]; payload: unknown | null; sentAt: Date; editedAt: Date | null; commandName: string | null; fromUser: TelegramUserSummary | null; } interface TelegramMessageHookPayload { updateId: number; updateType: TelegramUpdateType; messageId: string; chatId: string; fromUserId: string | null; text: string | null; attachments: TelegramAttachment[]; commandName: string | null; sentAt: Date; editedAt: Date | null; } interface TelegramCommandHookPayload { updateId: number; messageId: string; chatId: string; fromUserId: string | null; commandName: string; args: string; raw: string; sentAt: Date; } interface TelegramChatMemberHookPayload { updateId: number; chatId: string; userId: string; status: string; joinedAt: Date | null; leftAt: Date | null; } type TelegramOutgoingHookAction = "sendMessage" | "editMessageText"; type TelegramOutgoingHookPayload = { action: TelegramOutgoingHookAction; payload: Record; }; type TelegramHooks = { onMessageReceived?: (payload: TelegramMessageHookPayload) => Promise | void; onCommandMatched?: (payload: TelegramCommandHookPayload) => Promise | void; onChatMemberUpdated?: (payload: TelegramChatMemberHookPayload) => Promise | void; }; type TelegramInternalHookPayload = { update: TelegramUpdate; }; type TelegramHooksMap = { internalProcessUpdate: HookFn; internalOutgoingMessage: HookFn; onMessageReceived: HookFn; onCommandMatched: HookFn; onChatMemberUpdated: HookFn; }; type TelegramApiResult = { ok: true; result: T; } | { ok: false; errorCode?: number; description?: string; }; interface TelegramApi { call(method: string, payload: Record): Promise>; sendMessage(payload: Record): Promise>; editMessageText(payload: Record): Promise>; sendChatAction(payload: Record): Promise>; } type TelegramQueuedResult = { ok: true; queued: true; } | { ok: false; errorCode?: number; description?: string; }; type TelegramCommandApiResult = TelegramApiResult | TelegramQueuedResult; interface TelegramCommandApi { call(method: string, payload: Record): Promise>; sendMessage(payload: Record): Promise; editMessageText(payload: Record): Promise; sendChatAction(payload: Record): Promise>; } interface TelegramCommandContext { updateId: number; idempotencyKey: string; update: TelegramUpdate; message: TelegramMessage; chat: TelegramChatSummary; fromUser: TelegramUserSummary | null; command: { name: string; args: string; raw: string; }; api: TelegramCommandApi; handlerTx: HookHandlerTx; } type TelegramCommandHandler = (ctx: TelegramCommandContext) => Promise | void; interface TelegramCommandDefinition { name: string; description?: string; scopes?: TelegramCommandScope[]; handler: TelegramCommandHandler; } type TelegramCommandRegistry = Record; interface TelegramFragmentConfig { botToken: string; webhookSecretToken: string; botUsername?: string; apiBaseUrl?: string; commands?: TelegramCommandRegistry; hooks?: TelegramHooks; } type TelegramConfigBuilder = { command: (command: TelegramCommandDefinition) => TelegramConfigBuilder; build: (overrides?: Partial) => TelegramFragmentConfig; }; declare function defineCommand(name: string, definition: Omit): TelegramCommandDefinition; declare function createTelegram(baseConfig?: Partial): TelegramConfigBuilder; //#endregion //#region src/definition.d.ts declare const telegramFragmentDefinition: _fragno_dev_core0.FragmentDefinition> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>; chat: _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>; chatMember: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"userId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"status", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"joinedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"leftAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"chatMemberChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"chatMemberUser", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>>, Record> & Record<"idx_chat_member_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_chat_member_user", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["userId"]>> & Record<"idx_chat_member_unique", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "userId"]>>>; message: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageReplyTo", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>; }>>, { processIncomingUpdate: (this: _fragno_dev_db0.DatabaseServiceContext, update: TelegramUpdate) => _fragno_dev_db0.TxResult<{ kind: "ignored"; updateId: number; }, { kind: "ignored"; updateId: number; }> | _fragno_dev_db0.TxResult<{ kind: "ignored"; updateId: number; } | { kind: "message"; updateId: number; updateType: TelegramMessageSummary["messageType"]; chat: TelegramChatSummary; message: TelegramMessageSummary; fromUser: TelegramUserSummary | null; command: { name: string; args: string; raw: string; scopes: TelegramCommandScope[]; } | null; }, [{ id: string | _fragno_dev_db_schema0.FragnoId; type: string; title: string | null; username: string | null; isForum: boolean; commandBindings: unknown | null; createdAt: Date; updatedAt: Date; }[], { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; }[], { id: string | _fragno_dev_db_schema0.FragnoId; chatId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; userId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; status: string; joinedAt: Date | null; leftAt: Date | null; createdAt: Date; updatedAt: Date; chatMemberUser?: { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; } | null; }[], { id: string | _fragno_dev_db_schema0.FragnoId; chatId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; fromUserId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; senderChatId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; replyToMessageId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; messageType: string; text: string | null; payload: unknown | null; sentAt: Date; editedAt: Date | null; commandName: string | null; messageAuthor?: { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; } | null; } | null]>; bindCommand: (this: _fragno_dev_db0.DatabaseServiceContext, input: { chatId: string; commandName: string; enabled: boolean; scopes?: TelegramCommandScope[]; }) => _fragno_dev_db0.TxResult<{ ok: false; reason: "chat_not_found"; binding?: undefined; } | { ok: true; binding: { chatId: string; commandName: string; enabled: boolean; scopes: ("private" | "group" | "supergroup" | "channel")[] | undefined; }; reason?: undefined; }, [{ id: _fragno_dev_db_schema0.FragnoId; type: string; title: string | null; username: string | null; isForum: boolean; commandBindings: unknown; createdAt: Date; updatedAt: Date; } | null]>; listChats: (this: _fragno_dev_db0.DatabaseServiceContext, type?: TelegramChatSummary["type"]) => _fragno_dev_db0.TxResult; getChat: (this: _fragno_dev_db0.DatabaseServiceContext, chatId: string) => _fragno_dev_db0.TxResult; getChatWithMembers: (this: _fragno_dev_db0.DatabaseServiceContext, chatId: string) => _fragno_dev_db0.TxResult<{ chat: TelegramChatSummary | null; members: TelegramChatMemberSummary[]; }, { chat: TelegramChatSummary | null; members: TelegramChatMemberSummary[]; }>; listMessages: (this: _fragno_dev_db0.DatabaseServiceContext, input: { chatId: string; pageSize: number; order: "asc" | "desc"; cursor?: _fragno_dev_db0.Cursor; }) => _fragno_dev_db0.TxResult<{ messages: TelegramMessageSummary[]; cursor: _fragno_dev_db0.Cursor | undefined; hasNextPage: boolean; }, { messages: TelegramMessageSummary[]; cursor: _fragno_dev_db0.Cursor | undefined; hasNextPage: boolean; }>; upsertOutgoingMessage: (this: _fragno_dev_db0.DatabaseServiceContext, input: { message: TelegramMessage; messageType: TelegramUpdateType; }) => _fragno_dev_db0.TxResult; }, {}, {}, {}, _fragno_dev_db0.DatabaseServiceContext, _fragno_dev_db0.DatabaseRequestContext, _fragno_dev_db_fragment_definition_builder0.DatabaseRequestStorage, []>; //#endregion //#region src/routes.d.ts declare const telegramRoutesFactory: _fragno_dev_core0.RouteFactory> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>; chat: _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>; chatMember: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"userId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"status", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"joinedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"leftAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"chatMemberChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"chatMemberUser", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>>, Record> & Record<"idx_chat_member_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_chat_member_user", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["userId"]>> & Record<"idx_chat_member_unique", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "userId"]>>>; message: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageReplyTo", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>; }>>, _fragno_dev_core0.BoundServices<{ processIncomingUpdate: (this: _fragno_dev_db0.DatabaseServiceContext, update: TelegramUpdate) => _fragno_dev_db0.TxResult<{ kind: "ignored"; updateId: number; }, { kind: "ignored"; updateId: number; }> | _fragno_dev_db0.TxResult<{ kind: "ignored"; updateId: number; } | { kind: "message"; updateId: number; updateType: TelegramMessageSummary["messageType"]; chat: TelegramChatSummary; message: TelegramMessageSummary; fromUser: TelegramUserSummary | null; command: { name: string; args: string; raw: string; scopes: TelegramCommandScope[]; } | null; }, [{ id: string | _fragno_dev_db_schema0.FragnoId; type: string; title: string | null; username: string | null; isForum: boolean; commandBindings: unknown | null; createdAt: Date; updatedAt: Date; }[], { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; }[], { id: string | _fragno_dev_db_schema0.FragnoId; chatId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; userId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; status: string; joinedAt: Date | null; leftAt: Date | null; createdAt: Date; updatedAt: Date; chatMemberUser?: { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; } | null; }[], { id: string | _fragno_dev_db_schema0.FragnoId; chatId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; fromUserId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; senderChatId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; replyToMessageId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; messageType: string; text: string | null; payload: unknown | null; sentAt: Date; editedAt: Date | null; commandName: string | null; messageAuthor?: { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; } | null; } | null]>; bindCommand: (this: _fragno_dev_db0.DatabaseServiceContext, input: { chatId: string; commandName: string; enabled: boolean; scopes?: TelegramCommandScope[]; }) => _fragno_dev_db0.TxResult<{ ok: false; reason: "chat_not_found"; binding?: undefined; } | { ok: true; binding: { chatId: string; commandName: string; enabled: boolean; scopes: ("private" | "group" | "supergroup" | "channel")[] | undefined; }; reason?: undefined; }, [{ id: _fragno_dev_db_schema0.FragnoId; type: string; title: string | null; username: string | null; isForum: boolean; commandBindings: unknown; createdAt: Date; updatedAt: Date; } | null]>; listChats: (this: _fragno_dev_db0.DatabaseServiceContext, type?: TelegramChatSummary["type"]) => _fragno_dev_db0.TxResult; getChat: (this: _fragno_dev_db0.DatabaseServiceContext, chatId: string) => _fragno_dev_db0.TxResult; getChatWithMembers: (this: _fragno_dev_db0.DatabaseServiceContext, chatId: string) => _fragno_dev_db0.TxResult<{ chat: TelegramChatSummary | null; members: TelegramChatMemberSummary[]; }, { chat: TelegramChatSummary | null; members: TelegramChatMemberSummary[]; }>; listMessages: (this: _fragno_dev_db0.DatabaseServiceContext, input: { chatId: string; pageSize: number; order: "asc" | "desc"; cursor?: _fragno_dev_db0.Cursor; }) => _fragno_dev_db0.TxResult<{ messages: TelegramMessageSummary[]; cursor: _fragno_dev_db0.Cursor | undefined; hasNextPage: boolean; }, { messages: TelegramMessageSummary[]; cursor: _fragno_dev_db0.Cursor | undefined; hasNextPage: boolean; }>; upsertOutgoingMessage: (this: _fragno_dev_db0.DatabaseServiceContext, input: { message: TelegramMessage; messageType: TelegramUpdateType; }) => _fragno_dev_db0.TxResult; }>, {}, readonly [_fragno_dev_core0.FragnoRouteConfig<"POST", "/telegram/webhook", z.ZodUnknown, z.ZodObject<{ ok: z.ZodBoolean; duplicate: z.ZodOptional; }, z.core.$strip>, "UNAUTHORIZED" | "INVALID_UPDATE", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/commands/bind", z.ZodObject<{ chatId: z.ZodString; commandName: z.ZodString; enabled: z.ZodDefault>; scopes: z.ZodOptional>>; }, z.core.$strip>, z.ZodObject<{ chatId: z.ZodString; commandName: z.ZodString; enabled: z.ZodBoolean; scopes: z.ZodOptional>>; }, z.core.$strip>, "chat_not_found" | "command_not_found" | "invalid_scopes", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/commands", _standard_schema_spec0.StandardSchemaV1 | undefined, z.ZodObject<{ commands: z.ZodArray; scopes: z.ZodArray>; enabled: z.ZodOptional; effectiveScopes: z.ZodOptional>>; binding: z.ZodOptional; scopes: z.ZodOptional>>; }, z.core.$strip>>>; }, z.core.$strip>>; }, z.core.$strip>, "chat_not_found", "chatId", _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/chats", _standard_schema_spec0.StandardSchemaV1 | undefined, z.ZodArray; title: z.ZodNullable; username: z.ZodNullable; isForum: z.ZodBoolean; commandBindings: z.ZodNullable; scopes: z.ZodOptional>>; }, z.core.$strip>>>; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>>, string, "type", _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/chats/:chatId", _standard_schema_spec0.StandardSchemaV1 | undefined, z.ZodObject<{ chat: z.ZodObject<{ id: z.ZodString; type: z.ZodEnum<{ private: "private"; group: "group"; supergroup: "supergroup"; channel: "channel"; }>; title: z.ZodNullable; username: z.ZodNullable; isForum: z.ZodBoolean; commandBindings: z.ZodNullable; scopes: z.ZodOptional>>; }, z.core.$strip>>>; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>; members: z.ZodArray; leftAt: z.ZodNullable; user: z.ZodNullable; firstName: z.ZodString; lastName: z.ZodNullable; isBot: z.ZodBoolean; languageCode: z.ZodNullable; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>>; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>>; }, z.core.$strip>, "chat_not_found", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/chats/:chatId/messages", _standard_schema_spec0.StandardSchemaV1 | undefined, z.ZodObject<{ messages: z.ZodArray; senderChatId: z.ZodNullable; replyToMessageId: z.ZodNullable; messageType: z.ZodEnum<{ message: "message"; edited_message: "edited_message"; channel_post: "channel_post"; }>; text: z.ZodNullable; attachments: z.ZodArray; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; sizes: z.ZodArray; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"voice">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; duration: z.ZodNumber; mimeType: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"audio">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; duration: z.ZodNumber; performer: z.ZodOptional; title: z.ZodOptional; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"document">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"video">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; duration: z.ZodNumber; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"video_note">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; length: z.ZodNumber; duration: z.ZodNumber; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"sticker">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; emoji: z.ZodOptional; setName: z.ZodOptional; isAnimated: z.ZodBoolean; isVideo: z.ZodBoolean; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"animation">; fileId: z.ZodString; fileUniqueId: z.ZodString; fileSize: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; duration: z.ZodNumber; fileName: z.ZodOptional; mimeType: z.ZodOptional; thumbnail: z.ZodOptional; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>], "kind">>; payload: z.ZodNullable; sentAt: z.ZodDate; editedAt: z.ZodNullable; commandName: z.ZodNullable; fromUser: z.ZodNullable; firstName: z.ZodString; lastName: z.ZodNullable; isBot: z.ZodBoolean; languageCode: z.ZodNullable; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>>; }, z.core.$strip>>; cursor: z.ZodOptional; hasNextPage: z.ZodBoolean; }, z.core.$strip>, string, "pageSize" | "cursor" | "order", _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/chats/:chatId/actions", z.ZodObject<{ action: z.ZodEnum<{ typing: "typing"; upload_photo: "upload_photo"; record_video: "record_video"; upload_video: "upload_video"; record_voice: "record_voice"; upload_voice: "upload_voice"; upload_document: "upload_document"; choose_sticker: "choose_sticker"; find_location: "find_location"; record_video_note: "record_video_note"; upload_video_note: "upload_video_note"; }>; }, z.core.$strip>, z.ZodObject<{ ok: z.ZodBoolean; }, z.core.$strip>, "TELEGRAM_API_ERROR", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/chats/:chatId/send", z.ZodObject<{ text: z.ZodString; parseMode: z.ZodOptional>; disableWebPagePreview: z.ZodOptional; replyToMessageId: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ ok: z.ZodBoolean; queued: z.ZodBoolean; }, z.core.$strip>, string, string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/chats/:chatId/messages/:messageId/edit", z.ZodObject<{ text: z.ZodString; parseMode: z.ZodOptional>; disableWebPagePreview: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ ok: z.ZodBoolean; queued: z.ZodBoolean; }, z.core.$strip>, "INVALID_MESSAGE_ID", string, _fragno_dev_db0.DatabaseRequestContext>]>; //#endregion //#region src/schema.d.ts declare const telegramSchema: _fragno_dev_db_schema0.Schema<{ user: _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>; chat: _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>; chatMember: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"userId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"status", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"joinedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"leftAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"chatMemberChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"chatMemberUser", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>>, Record> & Record<"idx_chat_member_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_chat_member_user", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["userId"]>> & Record<"idx_chat_member_unique", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "userId"]>>>; message: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageReplyTo", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>; }>; //#endregion //#region src/index.d.ts declare function createTelegramFragment(config: TelegramFragmentConfig, fragnoConfig: FragnoPublicConfigWithDatabase): _fragno_dev_core0.FragnoInstantiatedFragment; }, zod_v4_core0.$strip>, "UNAUTHORIZED" | "INVALID_UPDATE", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/commands/bind", zod.ZodObject<{ chatId: zod.ZodString; commandName: zod.ZodString; enabled: zod.ZodDefault>; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ chatId: zod.ZodString; commandName: zod.ZodString; enabled: zod.ZodBoolean; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>, "chat_not_found" | "command_not_found" | "invalid_scopes", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/commands", _standard_schema_spec0.StandardSchemaV1 | undefined, zod.ZodObject<{ commands: zod.ZodArray; scopes: zod.ZodArray>; enabled: zod.ZodOptional; effectiveScopes: zod.ZodOptional>>; binding: zod.ZodOptional; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>>>; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, "chat_not_found", "chatId", _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/chats", _standard_schema_spec0.StandardSchemaV1 | undefined, zod.ZodArray; title: zod.ZodNullable; username: zod.ZodNullable; isForum: zod.ZodBoolean; commandBindings: zod.ZodNullable; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>>>; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>, string, "type", _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/chats/:chatId", _standard_schema_spec0.StandardSchemaV1 | undefined, zod.ZodObject<{ chat: zod.ZodObject<{ id: zod.ZodString; type: zod.ZodEnum<{ private: "private"; group: "group"; supergroup: "supergroup"; channel: "channel"; }>; title: zod.ZodNullable; username: zod.ZodNullable; isForum: zod.ZodBoolean; commandBindings: zod.ZodNullable; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>>>; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>; members: zod.ZodArray; leftAt: zod.ZodNullable; user: zod.ZodNullable; firstName: zod.ZodString; lastName: zod.ZodNullable; isBot: zod.ZodBoolean; languageCode: zod.ZodNullable; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, "chat_not_found", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/chats/:chatId/messages", _standard_schema_spec0.StandardSchemaV1 | undefined, zod.ZodObject<{ messages: zod.ZodArray; senderChatId: zod.ZodNullable; replyToMessageId: zod.ZodNullable; messageType: zod.ZodEnum<{ message: "message"; edited_message: "edited_message"; channel_post: "channel_post"; }>; text: zod.ZodNullable; attachments: zod.ZodArray; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; sizes: zod.ZodArray; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"voice">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; duration: zod.ZodNumber; mimeType: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"audio">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; duration: zod.ZodNumber; performer: zod.ZodOptional; title: zod.ZodOptional; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"document">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"video">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; duration: zod.ZodNumber; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"video_note">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; length: zod.ZodNumber; duration: zod.ZodNumber; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"sticker">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; emoji: zod.ZodOptional; setName: zod.ZodOptional; isAnimated: zod.ZodBoolean; isVideo: zod.ZodBoolean; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"animation">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; duration: zod.ZodNumber; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>], "kind">>; payload: zod.ZodNullable; sentAt: zod.ZodDate; editedAt: zod.ZodNullable; commandName: zod.ZodNullable; fromUser: zod.ZodNullable; firstName: zod.ZodString; lastName: zod.ZodNullable; isBot: zod.ZodBoolean; languageCode: zod.ZodNullable; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; cursor: zod.ZodOptional; hasNextPage: zod.ZodBoolean; }, zod_v4_core0.$strip>, string, "pageSize" | "cursor" | "order", _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/chats/:chatId/actions", zod.ZodObject<{ action: zod.ZodEnum<{ typing: "typing"; upload_photo: "upload_photo"; record_video: "record_video"; upload_video: "upload_video"; record_voice: "record_voice"; upload_voice: "upload_voice"; upload_document: "upload_document"; choose_sticker: "choose_sticker"; find_location: "find_location"; record_video_note: "record_video_note"; upload_video_note: "upload_video_note"; }>; }, zod_v4_core0.$strip>, zod.ZodObject<{ ok: zod.ZodBoolean; }, zod_v4_core0.$strip>, "TELEGRAM_API_ERROR", string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/chats/:chatId/send", zod.ZodObject<{ text: zod.ZodString; parseMode: zod.ZodOptional>; disableWebPagePreview: zod.ZodOptional; replyToMessageId: zod.ZodOptional>; }, zod_v4_core0.$strip>, zod.ZodObject<{ ok: zod.ZodBoolean; queued: zod.ZodBoolean; }, zod_v4_core0.$strip>, string, string, _fragno_dev_db0.DatabaseRequestContext>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/chats/:chatId/messages/:messageId/edit", zod.ZodObject<{ text: zod.ZodString; parseMode: zod.ZodOptional>; disableWebPagePreview: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodObject<{ ok: zod.ZodBoolean; queued: zod.ZodBoolean; }, zod_v4_core0.$strip>, "INVALID_MESSAGE_ID", string, _fragno_dev_db0.DatabaseRequestContext>], _fragno_dev_db0.ImplicitDatabaseDependencies<_fragno_dev_db_schema0.Schema<{ user: _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>; chat: _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>; chatMember: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"userId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"status", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"joinedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"leftAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"chatMemberChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"chatMemberUser", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>>, Record> & Record<"idx_chat_member_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_chat_member_user", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["userId"]>> & Record<"idx_chat_member_unique", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "userId"]>>>; message: _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageReplyTo", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"chatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference, _fragno_dev_db_schema0.FragnoReference>> & Record<"fromUserId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"senderChatId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"replyToMessageId", _fragno_dev_db_schema0.Column<"bigint", string | bigint | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference | null, _fragno_dev_db_schema0.FragnoReference | null>> & Record<"messageType", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"text", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"payload", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"sentAt", _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>> & Record<"editedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date | null>> & Record<"commandName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record & Record<"messageChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>> & Record<"messageAuthor", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"firstName", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"lastName", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isBot", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"languageCode", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_user_username", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["username"]>>>>> & Record<"messageSenderChat", _fragno_dev_db_schema0.Relation<"one", _fragno_dev_db_schema0.Table> & Record<"type", _fragno_dev_db_schema0.Column<"string", string, string>> & Record<"title", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"username", _fragno_dev_db_schema0.Column<"string", string | null, string | null>> & Record<"isForum", _fragno_dev_db_schema0.Column<"bool", boolean | null, boolean>> & Record<"commandBindings", _fragno_dev_db_schema0.Column<"json", unknown, unknown>> & Record<"createdAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema0.Column<"timestamp", (Date | _fragno_dev_db0.DbNow) | null, Date>>, Record, Record> & Record<"idx_chat_type", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["type"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>>>, Record> & Record<"idx_message_chat", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId"]>> & Record<"idx_message_chat_sent", _fragno_dev_db_schema0.Index, _fragno_dev_db_schema0.Column<"timestamp", Date | _fragno_dev_db0.DbNow, Date>] & _fragno_dev_db_schema0.AnyColumn[], readonly ["chatId", "sentAt"]>> & Record<"idx_message_from", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["fromUserId"]>> & Record<"idx_message_sent", _fragno_dev_db_schema0.Index] & _fragno_dev_db_schema0.AnyColumn[], readonly ["sentAt"]>>>; }>>, _fragno_dev_core0.BoundServices<{ processIncomingUpdate: (this: _fragno_dev_db0.DatabaseServiceContext, update: TelegramUpdate) => _fragno_dev_db0.TxResult<{ kind: "ignored"; updateId: number; }, { kind: "ignored"; updateId: number; }> | _fragno_dev_db0.TxResult<{ kind: "ignored"; updateId: number; } | { kind: "message"; updateId: number; updateType: TelegramMessageSummary["messageType"]; chat: TelegramChatSummary; message: TelegramMessageSummary; fromUser: TelegramUserSummary | null; command: { name: string; args: string; raw: string; scopes: TelegramCommandScope[]; } | null; }, [{ id: string | _fragno_dev_db_schema0.FragnoId; type: string; title: string | null; username: string | null; isForum: boolean; commandBindings: unknown | null; createdAt: Date; updatedAt: Date; }[], { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; }[], { id: string | _fragno_dev_db_schema0.FragnoId; chatId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; userId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; status: string; joinedAt: Date | null; leftAt: Date | null; createdAt: Date; updatedAt: Date; chatMemberUser?: { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; } | null; }[], { id: string | _fragno_dev_db_schema0.FragnoId; chatId: string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference; fromUserId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; senderChatId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; replyToMessageId: (string | _fragno_dev_db_schema0.FragnoId | _fragno_dev_db_schema0.FragnoReference) | null; messageType: string; text: string | null; payload: unknown | null; sentAt: Date; editedAt: Date | null; commandName: string | null; messageAuthor?: { id: string | _fragno_dev_db_schema0.FragnoId; username: string | null; firstName: string; lastName: string | null; isBot: boolean; languageCode: string | null; createdAt: Date; updatedAt: Date; } | null; } | null]>; bindCommand: (this: _fragno_dev_db0.DatabaseServiceContext, input: { chatId: string; commandName: string; enabled: boolean; scopes?: TelegramCommandScope[]; }) => _fragno_dev_db0.TxResult<{ ok: false; reason: "chat_not_found"; binding?: undefined; } | { ok: true; binding: { chatId: string; commandName: string; enabled: boolean; scopes: ("private" | "group" | "supergroup" | "channel")[] | undefined; }; reason?: undefined; }, [{ id: _fragno_dev_db_schema0.FragnoId; type: string; title: string | null; username: string | null; isForum: boolean; commandBindings: unknown; createdAt: Date; updatedAt: Date; } | null]>; listChats: (this: _fragno_dev_db0.DatabaseServiceContext, type?: TelegramChatSummary["type"]) => _fragno_dev_db0.TxResult; getChat: (this: _fragno_dev_db0.DatabaseServiceContext, chatId: string) => _fragno_dev_db0.TxResult; getChatWithMembers: (this: _fragno_dev_db0.DatabaseServiceContext, chatId: string) => _fragno_dev_db0.TxResult<{ chat: TelegramChatSummary | null; members: TelegramChatMemberSummary[]; }, { chat: TelegramChatSummary | null; members: TelegramChatMemberSummary[]; }>; listMessages: (this: _fragno_dev_db0.DatabaseServiceContext, input: { chatId: string; pageSize: number; order: "asc" | "desc"; cursor?: _fragno_dev_db0.Cursor; }) => _fragno_dev_db0.TxResult<{ messages: TelegramMessageSummary[]; cursor: _fragno_dev_db0.Cursor | undefined; hasNextPage: boolean; }, { messages: TelegramMessageSummary[]; cursor: _fragno_dev_db0.Cursor | undefined; hasNextPage: boolean; }>; upsertOutgoingMessage: (this: _fragno_dev_db0.DatabaseServiceContext, input: { message: TelegramMessage; messageType: TelegramUpdateType; }) => _fragno_dev_db0.TxResult; }>, _fragno_dev_db0.DatabaseServiceContext, _fragno_dev_db0.DatabaseRequestContext, _fragno_dev_db_fragment_definition_builder0.DatabaseRequestStorage, FragnoPublicConfigWithDatabase>; declare function createTelegramFragmentClients(fragnoConfig?: FragnoPublicClientConfig): { useCommands: FragnoClientHookData<"GET", "/commands", zod.ZodObject<{ commands: zod.ZodArray; scopes: zod.ZodArray>; enabled: zod.ZodOptional; effectiveScopes: zod.ZodOptional>>; binding: zod.ZodOptional; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>>>; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, "chat_not_found", "chatId">; useBindCommand: FragnoClientMutatorData>; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip> | undefined, zod.ZodObject<{ chatId: zod.ZodString; commandName: zod.ZodString; enabled: zod.ZodBoolean; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip> | undefined, "chat_not_found" | "command_not_found" | "invalid_scopes", string>; useChats: FragnoClientHookData<"GET", "/chats", zod.ZodArray; title: zod.ZodNullable; username: zod.ZodNullable; isForum: zod.ZodBoolean; commandBindings: zod.ZodNullable; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>>>; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>, string, "type">; useChat: FragnoClientHookData<"GET", "/chats/:chatId", zod.ZodObject<{ chat: zod.ZodObject<{ id: zod.ZodString; type: zod.ZodEnum<{ private: "private"; group: "group"; supergroup: "supergroup"; channel: "channel"; }>; title: zod.ZodNullable; username: zod.ZodNullable; isForum: zod.ZodBoolean; commandBindings: zod.ZodNullable; scopes: zod.ZodOptional>>; }, zod_v4_core0.$strip>>>; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>; members: zod.ZodArray; leftAt: zod.ZodNullable; user: zod.ZodNullable; firstName: zod.ZodString; lastName: zod.ZodNullable; isBot: zod.ZodBoolean; languageCode: zod.ZodNullable; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, "chat_not_found", string>; useChatMessages: FragnoClientHookData<"GET", "/chats/:chatId/messages", zod.ZodObject<{ messages: zod.ZodArray; senderChatId: zod.ZodNullable; replyToMessageId: zod.ZodNullable; messageType: zod.ZodEnum<{ message: "message"; edited_message: "edited_message"; channel_post: "channel_post"; }>; text: zod.ZodNullable; attachments: zod.ZodArray; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; sizes: zod.ZodArray; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"voice">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; duration: zod.ZodNumber; mimeType: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"audio">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; duration: zod.ZodNumber; performer: zod.ZodOptional; title: zod.ZodOptional; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"document">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"video">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; duration: zod.ZodNumber; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"video_note">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; length: zod.ZodNumber; duration: zod.ZodNumber; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"sticker">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; emoji: zod.ZodOptional; setName: zod.ZodOptional; isAnimated: zod.ZodBoolean; isVideo: zod.ZodBoolean; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>, zod.ZodObject<{ kind: zod.ZodLiteral<"animation">; fileId: zod.ZodString; fileUniqueId: zod.ZodString; fileSize: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; duration: zod.ZodNumber; fileName: zod.ZodOptional; mimeType: zod.ZodOptional; thumbnail: zod.ZodOptional; width: zod.ZodNumber; height: zod.ZodNumber; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>], "kind">>; payload: zod.ZodNullable; sentAt: zod.ZodDate; editedAt: zod.ZodNullable; commandName: zod.ZodNullable; fromUser: zod.ZodNullable; firstName: zod.ZodString; lastName: zod.ZodNullable; isBot: zod.ZodBoolean; languageCode: zod.ZodNullable; createdAt: zod.ZodDate; updatedAt: zod.ZodDate; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; cursor: zod.ZodOptional; hasNextPage: zod.ZodBoolean; }, zod_v4_core0.$strip>, string, "pageSize" | "cursor" | "order">; useChatAction: FragnoClientMutatorData; }, zod_v4_core0.$strip> | undefined, zod.ZodObject<{ ok: zod.ZodBoolean; }, zod_v4_core0.$strip> | undefined, "TELEGRAM_API_ERROR", string>; useSendMessage: FragnoClientMutatorData>; disableWebPagePreview: zod.ZodOptional; replyToMessageId: zod.ZodOptional>; }, zod_v4_core0.$strip> | undefined, zod.ZodObject<{ ok: zod.ZodBoolean; queued: zod.ZodBoolean; }, zod_v4_core0.$strip> | undefined, string, string>; useEditMessage: FragnoClientMutatorData>; disableWebPagePreview: zod.ZodOptional; }, zod_v4_core0.$strip> | undefined, zod.ZodObject<{ ok: zod.ZodBoolean; queued: zod.ZodBoolean; }, zod_v4_core0.$strip> | undefined, "INVALID_MESSAGE_ID", string>; }; //#endregion export { type FragnoRouteConfig, type TelegramApi, type TelegramApiResult, type TelegramAttachment, type TelegramAttachmentKind, type TelegramAttachmentPhotoSize, type TelegramChatMemberHookPayload, type TelegramChatMemberSummary, type TelegramChatSummary, type TelegramChatType, type TelegramCommandApi, type TelegramCommandApiResult, type TelegramCommandBinding, type TelegramCommandBindings, type TelegramCommandContext, type TelegramCommandDefinition, type TelegramCommandRegistry, type TelegramCommandScope, type TelegramConfigBuilder, type TelegramFragmentConfig, type TelegramHooks, type TelegramMessage, type TelegramMessageHookPayload, type TelegramMessageSummary, type TelegramQueuedResult, type TelegramUpdate, type TelegramUpdateType, type TelegramUser, type TelegramUserSummary, createTelegram, createTelegramFragment, createTelegramFragmentClients, defineCommand, telegramAttachmentKindSchema, telegramAttachmentSchema, telegramFragmentDefinition, telegramRoutesFactory, telegramSchema }; //# sourceMappingURL=index.d.ts.map