Module Versioned_type.Deriving

type generation_kind =
| Plain
| Rpc
val validate_rpc_type_decl : string list -> Ppxlib.type_declaration -> unit
val validate_plain_type_decl : string list -> Ppxlib.type_declaration -> unit
val validate_type_decl : string list -> generation_kind -> Ppxlib.type_declaration -> unit
val module_name_from_plain_path : string list -> string
val module_name_from_rpc_path : string list -> string
val generate_version_number_decl : string list -> Ppxlib__.Location.t -> generation_kind -> Ppxlib.structure_item list
val ocaml_builtin_types : string list
val ocaml_builtin_type_constructors : string list
val is_jane_street_stable_module : Core_kernel.String.t list -> bool
val trustlisted_prefix : Ppxlib.longident -> loc:Ppxlib.Location.t -> bool
val is_stable_latest : Ppxlib.longident -> bool
val generate_core_type_version_decls : Core_kernel.String.t -> Ppxlib.core_type -> Ppxlib.structure_item Base__List.t
val generate_version_lets_for_core_types : Core_kernel.String.t -> Ppxlib.core_type list -> Ppxlib.structure_item Base__List.t
val generate_version_lets_for_label_decls : Core_kernel.String.t -> Ppxlib.label_declaration list -> Ppxlib.structure_item Base__List.t
val generate_constructor_decl_decls : Core_kernel.String.t -> Ppxlib.constructor_declaration -> Ppxlib.structure_item Base__List.t
val generate_constraint_type_decls : Core_kernel.String.t -> (Ppxlib.core_type * Ppxlib.core_type * 'a) list -> Ppxlib.structure_item list
val generate_contained_type_version_decls : Ppxlib.type_declaration -> Ppxlib.structure_item Base__List.t
val generate_versioned_decls : binable:bool -> generation_kind -> Ppxlib.type_declaration -> Ppxlib.structure_item Base__List.t
val get_type_decl_representative : Ppxlib.type_declaration list -> Ppxlib.type_declaration
val generate_let_bindings_for_type_decl_str : loc:Ppxlib__.Location.t -> path:string -> ('a * Ppxlib.type_declaration list) -> bool -> bool -> Ppxlib.structure_item Base__List.t
val generate_val_decls_for_type_decl : loc:Ppxlib.location -> Ppxlib.type_declaration -> Ppxlib.signature_item list
val generate_val_decls_for_type_decl_sig : loc:Ppxlib.location -> path:'a -> ('b * Ppxlib.type_declaration list) -> Ppxlib.signature_item list