"""File auto-generated by tglib TL generator. Do not edit manually."""
from ..tlobject import TLObject
from typing import Optional, List, Union
import os
import struct
from datetime import datetime


class FileGif(TLObject):
    """TL type: storage.fileGif"""
    CONSTRUCTOR_ID = 0xcae1aadf
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FileGif',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FileJpeg(TLObject):
    """TL type: storage.fileJpeg"""
    CONSTRUCTOR_ID = 0x007efe0e
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FileJpeg',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FileMov(TLObject):
    """TL type: storage.fileMov"""
    CONSTRUCTOR_ID = 0x4b09ebbc
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FileMov',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FileMp3(TLObject):
    """TL type: storage.fileMp3"""
    CONSTRUCTOR_ID = 0x528a0677
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FileMp3',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FileMp4(TLObject):
    """TL type: storage.fileMp4"""
    CONSTRUCTOR_ID = 0xb3cea0e4
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FileMp4',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FilePartial(TLObject):
    """TL type: storage.filePartial"""
    CONSTRUCTOR_ID = 0x40bc6f52
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FilePartial',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FilePdf(TLObject):
    """TL type: storage.filePdf"""
    CONSTRUCTOR_ID = 0xae1e508d
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FilePdf',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FilePng(TLObject):
    """TL type: storage.filePng"""
    CONSTRUCTOR_ID = 0x0a4f63c0
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FilePng',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FileUnknown(TLObject):
    """TL type: storage.fileUnknown"""
    CONSTRUCTOR_ID = 0xaa963b05
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FileUnknown',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()


class FileWebp(TLObject):
    """TL type: storage.fileWebp"""
    CONSTRUCTOR_ID = 0x1081464c
    SUBCLASS_OF_ID = 0xf3a1e6f3

    def __init__(self):
        pass

    def to_dict(self):
        return {
            '_': 'FileWebp',
        }

    def _bytes(self) -> bytes:
        import io
        buf = io.BytesIO()
        buf.write(struct.pack('<I', self.CONSTRUCTOR_ID))
        return buf.getvalue()

    @classmethod
    def from_reader(cls, reader):
        return cls()

