# Generated by scripts/generate_pyi.py, do not edit.

from typing import Any, Callable

import renpy

import builtins as __builtins__
import random as random
import renpy as renpy

class ArraySetter(Setter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class ContextGetter(Getter):

    def __reduce__(self): ...

    def __repr__(self, /): ...

    def __setstate__(self, __pyx_state): ...


class DrawableSizeGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class FloatArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class FloatSetter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Getter:
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __repr__(self, /): ...

    def __setstate__(self, __pyx_state): ...


class IVec2ArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class IVec2Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class IVec3ArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class IVec3Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class IVec4ArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class IVec4Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class IntArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class IntSetter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class InverseGetter(Getter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __repr__(self, /): ...

    def __setstate__(self, __pyx_state): ...


class InverseTransposeGetter(Getter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __repr__(self, /): ...

    def __setstate__(self, __pyx_state): ...


class LODBiasGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Mat2Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Mat3Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Mat4Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class ModelGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class ModelSizeGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class PremultiplyGetter(Getter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __repr__(self, /): ...

    def __setstate__(self, __pyx_state): ...


class ProjectionGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class ProjectionViewGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class RandomGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Res0Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Res1Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Res2Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Res3Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class ResGetter(Getter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Sampler2DSetter(Setter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Setter:
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Tex0Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Tex1Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Tex2Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Tex3Getter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class TimeGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class TransformMatrixGetter(Getter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class TransposeGetter(Getter):
    def __init__(self, /, *args, **kwargs): ...

    def __reduce__(self): ...

    def __repr__(self, /): ...

    def __setstate__(self, __pyx_state): ...


class Vec2ArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Vec2Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Vec3ArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Vec3Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Vec4ArraySetter(ArraySetter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class Vec4Setter(Setter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class ViewGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class ViewportGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


class VirtualSizeGetter(Getter):

    def __reduce__(self): ...

    def __setstate__(self, __pyx_state): ...


def generate_uniform_setter(shader_name: str, location: int, uniform_name: str, uniform_type: str, array: 'int | None', sampler: int): ...

