package NYql; option java_package = "ru.yandex.yql.proto"; message TFunction { required string Name = 1; required string TypeConfig = 2; optional string UserType = 3; }; message TArgResult { required string Name = 1; required string Type = 2; required string Doc = 3; required uint32 Flags = 4; }; message TFunctionResult { optional string NormalizedUserType = 1; optional string RunConfigType = 2; optional string CallableType = 3; optional string Error = 4; optional string Name = 5; optional string Doc = 7; optional bool IsTypeAwareness = 8; optional uint32 ArgCount = 9; optional uint32 OptionalArgCount = 10; repeated TArgResult Args = 11; optional string ReturnType = 12; optional string ReturnDoc = 13; optional bool SupportsBlocks = 14; optional bool IsStrict = 15; }; message TImport { required string FileAlias = 1; required string Path = 2; optional bool System = 3 [default = false]; optional string CustomUdfPrefix = 4; }; message TImportResult { required string FileAlias = 1; repeated string Modules = 2; optional string Error = 3; optional uint64 FileSize = 4; optional string Md5 = 5; optional string CustomUdfPrefix = 6; }; message TResolve { repeated TImport Imports = 1; repeated TFunction Udfs = 2; }; message TResolveResult { repeated TImportResult Imports = 1; repeated TFunctionResult Udfs = 2; };