[{
  "predicate": "document",
  "params": [
    {"name": "thumbs", "type": "Array<PhotoSize.photoSize | PhotoSize.photoCachedSize | PhotoSize.photoStrippedSize>"},
    {"name": "type", "type": "'gif' | 'sticker' | 'audio' | 'voice' | 'video' | 'round' | 'photo'"},
    {"name": "h", "type": "number"},
    {"name": "w", "type": "number"},
    {"name": "file_name", "type": "string"},
    {"name": "file", "type": "File"},
    {"name": "duration", "type": "number"},
    {"name": "downloaded", "type": "boolean"},
    {"name": "url", "type": "string"},
    {"name": "audioTitle", "type": "string"},
    {"name": "audioPerformer", "type": "string"},
    {"name": "sticker", "type": "number"},
    {"name": "stickerEmoji", "type": "string"},
    {"name": "stickerEmojiRaw", "type": "string"},
    {"name": "stickerSetInput", "type": "InputStickerSet.inputStickerSetID"},
    {"name": "stickerThumbConverted", "type": "true"},
    {"name": "animated", "type": "boolean"},
    {"name": "supportsStreaming", "type": "boolean"}
  ]
}, {
  "predicate": "photo",
  "params": [
    {"name": "downloaded", "type": "boolean | number"},
    {"name": "url", "type": "string"}
  ]
}, {
  "predicate": "photoSize",
  "params": [
    {"name": "url", "type": "string"}
  ]
}, {
  "predicate": "photoCachedSize",
  "params": [
    {"name": "url", "type": "string"}
  ]
}, {
  "predicate": "photoStrippedSize",
  "params": [
    {"name": "url", "type": "string"}
  ]
}, {
  "predicate": "photoSizeProgressive",
  "params": [
    {"name": "url", "type": "string"},
    {"name": "size", "type": "number"}
  ]
}, {
  "predicate": "dialog",
  "params": [
    {"name": "index", "type": "number"},
    {"name": "peerID", "type": "number"}
  ]
}, {
  "predicate": "dialogFolder",
  "params": [
    {"name": "index", "type": "number"},
    {"name": "peerID", "type": "number"},
    {"name": "folder_id", "type": "number"}
  ]
}, {
  "predicate": "message",
  "params": [
    {"name": "mid", "type": "number"},
    {"name": "deleted", "type": "boolean"},
    {"name": "peerID", "type": "number"},
    {"name": "fromID", "type": "number"},
    {"name": "grouped_id", "type": "string"},
    {"name": "canBeEdited", "type": "boolean"},
    {"name": "unread", "type": "true"}
  ]
}, {
  "predicate": "messageService",
  "params": [
    {"name": "mid", "type": "number"},
    {"name": "deleted", "type": "boolean"},
    {"name": "peerID", "type": "number"},
    {"name": "fromID", "type": "number"},
    {"name": "canBeEdited", "type": "boolean"},
    {"name": "unread", "type": "true"}
  ]
}, {
  "predicate": "messageEmpty",
  "params": [
    {"name": "deleted", "type": "boolean"}
  ]
}, {
  "predicate": "userFull",
  "params": [
    {"name": "rAbout", "type": "string"}
  ]
}]