@avstantso/utils-languages 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1010 @@
1
+ declare namespace AVStantso {
2
+ class _RusNumber<TValue extends number = number> extends AVStantso_EnumClass<TValue> {
3
+ static Items: {
4
+ /**
5
+ * @summary Единственное
6
+ * @example "день", "мошка"
7
+ */
8
+ singular: _RusNumber<1>;
9
+ /**
10
+ * @summary Двойственное
11
+ * @example "дня", "мошки"
12
+ */
13
+ dual: _RusNumber<2>;
14
+ /**
15
+ * @summary Множественное
16
+ * @example "дней", "мошек"
17
+ */
18
+ plural: _RusNumber<3>;
19
+ };
20
+ static Statics: {
21
+ withSubstantive: Rus.Number.WithSubstantive;
22
+ };
23
+ static withSubstantive(...wordForms: TS.Arr): (num: number) => string;
24
+ }
25
+ const RusNumber: {
26
+ singular: AVStantso_EnumClass.Item<typeof _RusNumber, "singular", true>;
27
+ dual: AVStantso_EnumClass.Item<typeof _RusNumber, "dual", true>;
28
+ plural: AVStantso_EnumClass.Item<typeof _RusNumber, "plural", true>;
29
+ 1: AVStantso_EnumClass.Item<typeof _RusNumber, "singular", true>;
30
+ 2: AVStantso_EnumClass.Item<typeof _RusNumber, "dual", true>;
31
+ 3: AVStantso_EnumClass.Item<typeof _RusNumber, "plural", true>;
32
+ readonly enumClass: typeof _RusNumber;
33
+ readonly enumName: string;
34
+ hasKey: (candidate: unknown) => candidate is "singular" | "dual" | "plural";
35
+ readonly Key?: "singular" | "dual" | "plural";
36
+ readonly Item?: AVStantso_EnumClass.Item<typeof _RusNumber, "singular" | "dual" | "plural", false>;
37
+ readonly KVO?: AVStantso_EnumClass.KeyOrValueOrObject<typeof _RusNumber>;
38
+ readonly keys: readonly ("singular" | "dual" | "plural")[];
39
+ readonly names: ReadonlyArray<string>;
40
+ readonly values: ReadonlyArray<number>;
41
+ tryFrom: AVStantso_EnumClass.Meta.From<typeof _RusNumber>;
42
+ from: AVStantso_EnumClass.Meta.From<typeof _RusNumber>;
43
+ random: () => AVStantso_EnumClass.Item<typeof _RusNumber, "singular" | "dual" | "plural", false>;
44
+ is: AVStantso_EnumClass.Meta.Is<typeof _RusNumber>;
45
+ Mapping: <TTemplate extends object>(template: TTemplate) => <TInferValue extends Provider.Union.Make<"value", Mapping.ValueBase<{
46
+ /**
47
+ * @summary Единственное
48
+ * @example "день", "мошка"
49
+ */
50
+ singular: _RusNumber<1>;
51
+ /**
52
+ * @summary Двойственное
53
+ * @example "дня", "мошки"
54
+ */
55
+ dual: _RusNumber<2>;
56
+ /**
57
+ * @summary Множественное
58
+ * @example "дней", "мошек"
59
+ */
60
+ plural: _RusNumber<3>;
61
+ }, "value">>, TInferExclude extends Provider.Union.Make<"value", Mapping.ValueBase<{
62
+ /**
63
+ * @summary Единственное
64
+ * @example "день", "мошка"
65
+ */
66
+ singular: _RusNumber<1>;
67
+ /**
68
+ * @summary Двойственное
69
+ * @example "дня", "мошки"
70
+ */
71
+ dual: _RusNumber<2>;
72
+ /**
73
+ * @summary Множественное
74
+ * @example "дней", "мошек"
75
+ */
76
+ plural: _RusNumber<3>;
77
+ }, "value">> = never, TInferResult extends {
78
+ TProviderFiled: "value";
79
+ TValueBase: Mapping.ValueBase<{
80
+ /**
81
+ * @summary Единственное
82
+ * @example "день", "мошка"
83
+ */
84
+ singular: _RusNumber<1>;
85
+ /**
86
+ * @summary Двойственное
87
+ * @example "дня", "мошки"
88
+ */
89
+ dual: _RusNumber<2>;
90
+ /**
91
+ * @summary Множественное
92
+ * @example "дней", "мошек"
93
+ */
94
+ plural: _RusNumber<3>;
95
+ }, "value">;
96
+ TValue: TInferValue;
97
+ TExclude: TInferExclude;
98
+ VF: TInferValue extends Provider.Union<{
99
+ __KEY__?: "value";
100
+ value: Mapping.ValueBase<{
101
+ /**
102
+ * @summary Единственное
103
+ * @example "день", "мошка"
104
+ */
105
+ singular: _RusNumber<1>;
106
+ /**
107
+ * @summary Двойственное
108
+ * @example "дня", "мошки"
109
+ */
110
+ dual: _RusNumber<2>;
111
+ /**
112
+ * @summary Множественное
113
+ * @example "дней", "мошек"
114
+ */
115
+ plural: _RusNumber<3>;
116
+ }, "value">;
117
+ }> ? Provider.Value<TInferValue, {
118
+ __KEY__?: "value";
119
+ value: Mapping.ValueBase<{
120
+ /**
121
+ * @summary Единственное
122
+ * @example "день", "мошка"
123
+ */
124
+ singular: _RusNumber<1>;
125
+ /**
126
+ * @summary Двойственное
127
+ * @example "дня", "мошки"
128
+ */
129
+ dual: _RusNumber<2>;
130
+ /**
131
+ * @summary Множественное
132
+ * @example "дней", "мошек"
133
+ */
134
+ plural: _RusNumber<3>;
135
+ }, "value">;
136
+ }> : never;
137
+ EF: TInferExclude extends Provider.Union<{
138
+ __KEY__?: "value";
139
+ value: Mapping.ValueBase<{
140
+ /**
141
+ * @summary Единственное
142
+ * @example "день", "мошка"
143
+ */
144
+ singular: _RusNumber<1>;
145
+ /**
146
+ * @summary Двойственное
147
+ * @example "дня", "мошки"
148
+ */
149
+ dual: _RusNumber<2>;
150
+ /**
151
+ * @summary Множественное
152
+ * @example "дней", "мошек"
153
+ */
154
+ plural: _RusNumber<3>;
155
+ }, "value">;
156
+ }> ? Provider.Value<TInferExclude, {
157
+ __KEY__?: "value";
158
+ value: Mapping.ValueBase<{
159
+ /**
160
+ * @summary Единственное
161
+ * @example "день", "мошка"
162
+ */
163
+ singular: _RusNumber<1>;
164
+ /**
165
+ * @summary Двойственное
166
+ * @example "дня", "мошки"
167
+ */
168
+ dual: _RusNumber<2>;
169
+ /**
170
+ * @summary Множественное
171
+ * @example "дней", "мошек"
172
+ */
173
+ plural: _RusNumber<3>;
174
+ }, "value">;
175
+ }> : never;
176
+ V: Exclude<TInferValue extends Provider.Union<{
177
+ __KEY__?: "value";
178
+ value: Mapping.ValueBase<{
179
+ /**
180
+ * @summary Единственное
181
+ * @example "день", "мошка"
182
+ */
183
+ singular: _RusNumber<1>;
184
+ /**
185
+ * @summary Двойственное
186
+ * @example "дня", "мошки"
187
+ */
188
+ dual: _RusNumber<2>;
189
+ /**
190
+ * @summary Множественное
191
+ * @example "дней", "мошек"
192
+ */
193
+ plural: _RusNumber<3>;
194
+ }, "value">;
195
+ }> ? Provider.Value<TInferValue, {
196
+ __KEY__?: "value";
197
+ value: Mapping.ValueBase<{
198
+ /**
199
+ * @summary Единственное
200
+ * @example "день", "мошка"
201
+ */
202
+ singular: _RusNumber<1>;
203
+ /**
204
+ * @summary Двойственное
205
+ * @example "дня", "мошки"
206
+ */
207
+ dual: _RusNumber<2>;
208
+ /**
209
+ * @summary Множественное
210
+ * @example "дней", "мошек"
211
+ */
212
+ plural: _RusNumber<3>;
213
+ }, "value">;
214
+ }> : never, TInferExclude extends Provider.Union<{
215
+ __KEY__?: "value";
216
+ value: Mapping.ValueBase<{
217
+ /**
218
+ * @summary Единственное
219
+ * @example "день", "мошка"
220
+ */
221
+ singular: _RusNumber<1>;
222
+ /**
223
+ * @summary Двойственное
224
+ * @example "дня", "мошки"
225
+ */
226
+ dual: _RusNumber<2>;
227
+ /**
228
+ * @summary Множественное
229
+ * @example "дней", "мошек"
230
+ */
231
+ plural: _RusNumber<3>;
232
+ }, "value">;
233
+ }> ? Provider.Value<TInferExclude, {
234
+ __KEY__?: "value";
235
+ value: Mapping.ValueBase<{
236
+ /**
237
+ * @summary Единственное
238
+ * @example "день", "мошка"
239
+ */
240
+ singular: _RusNumber<1>;
241
+ /**
242
+ * @summary Двойственное
243
+ * @example "дня", "мошки"
244
+ */
245
+ dual: _RusNumber<2>;
246
+ /**
247
+ * @summary Множественное
248
+ * @example "дней", "мошек"
249
+ */
250
+ plural: _RusNumber<3>;
251
+ }, "value">;
252
+ }> : never>;
253
+ MK: Extract<Exclude<TInferValue extends Provider.Union<{
254
+ __KEY__?: "value";
255
+ value: Mapping.ValueBase<{
256
+ /**
257
+ * @summary Единственное
258
+ * @example "день", "мошка"
259
+ */
260
+ singular: _RusNumber<1>;
261
+ /**
262
+ * @summary Двойственное
263
+ * @example "дня", "мошки"
264
+ */
265
+ dual: _RusNumber<2>;
266
+ /**
267
+ * @summary Множественное
268
+ * @example "дней", "мошек"
269
+ */
270
+ plural: _RusNumber<3>;
271
+ }, "value">;
272
+ }> ? Provider.Value<TInferValue, {
273
+ __KEY__?: "value";
274
+ value: Mapping.ValueBase<{
275
+ /**
276
+ * @summary Единственное
277
+ * @example "день", "мошка"
278
+ */
279
+ singular: _RusNumber<1>;
280
+ /**
281
+ * @summary Двойственное
282
+ * @example "дня", "мошки"
283
+ */
284
+ dual: _RusNumber<2>;
285
+ /**
286
+ * @summary Множественное
287
+ * @example "дней", "мошек"
288
+ */
289
+ plural: _RusNumber<3>;
290
+ }, "value">;
291
+ }> : never, TInferExclude extends Provider.Union<{
292
+ __KEY__?: "value";
293
+ value: Mapping.ValueBase<{
294
+ /**
295
+ * @summary Единственное
296
+ * @example "день", "мошка"
297
+ */
298
+ singular: _RusNumber<1>;
299
+ /**
300
+ * @summary Двойственное
301
+ * @example "дня", "мошки"
302
+ */
303
+ dual: _RusNumber<2>;
304
+ /**
305
+ * @summary Множественное
306
+ * @example "дней", "мошек"
307
+ */
308
+ plural: _RusNumber<3>;
309
+ }, "value">;
310
+ }> ? Provider.Value<TInferExclude, {
311
+ __KEY__?: "value";
312
+ value: Mapping.ValueBase<{
313
+ /**
314
+ * @summary Единственное
315
+ * @example "день", "мошка"
316
+ */
317
+ singular: _RusNumber<1>;
318
+ /**
319
+ * @summary Двойственное
320
+ * @example "дня", "мошки"
321
+ */
322
+ dual: _RusNumber<2>;
323
+ /**
324
+ * @summary Множественное
325
+ * @example "дней", "мошек"
326
+ */
327
+ plural: _RusNumber<3>;
328
+ }, "value">;
329
+ }> : never>, 1 | 2 | 3>;
330
+ TK: Extract<TS.Structure.Reverse<{
331
+ /**
332
+ * @summary Единственное
333
+ * @example "день", "мошка"
334
+ */
335
+ singular: _RusNumber<1>;
336
+ /**
337
+ * @summary Двойственное
338
+ * @example "дня", "мошки"
339
+ */
340
+ dual: _RusNumber<2>;
341
+ /**
342
+ * @summary Множественное
343
+ * @example "дней", "мошек"
344
+ */
345
+ plural: _RusNumber<3>;
346
+ }, "value">[Extract<Exclude<TInferValue extends Provider.Union<{
347
+ __KEY__?: "value";
348
+ value: Mapping.ValueBase<{
349
+ /**
350
+ * @summary Единственное
351
+ * @example "день", "мошка"
352
+ */
353
+ singular: _RusNumber<1>;
354
+ /**
355
+ * @summary Двойственное
356
+ * @example "дня", "мошки"
357
+ */
358
+ dual: _RusNumber<2>;
359
+ /**
360
+ * @summary Множественное
361
+ * @example "дней", "мошек"
362
+ */
363
+ plural: _RusNumber<3>;
364
+ }, "value">;
365
+ }> ? Provider.Value<TInferValue, {
366
+ __KEY__?: "value";
367
+ value: Mapping.ValueBase<{
368
+ /**
369
+ * @summary Единственное
370
+ * @example "день", "мошка"
371
+ */
372
+ singular: _RusNumber<1>;
373
+ /**
374
+ * @summary Двойственное
375
+ * @example "дня", "мошки"
376
+ */
377
+ dual: _RusNumber<2>;
378
+ /**
379
+ * @summary Множественное
380
+ * @example "дней", "мошек"
381
+ */
382
+ plural: _RusNumber<3>;
383
+ }, "value">;
384
+ }> : never, TInferExclude extends Provider.Union<{
385
+ __KEY__?: "value";
386
+ value: Mapping.ValueBase<{
387
+ /**
388
+ * @summary Единственное
389
+ * @example "день", "мошка"
390
+ */
391
+ singular: _RusNumber<1>;
392
+ /**
393
+ * @summary Двойственное
394
+ * @example "дня", "мошки"
395
+ */
396
+ dual: _RusNumber<2>;
397
+ /**
398
+ * @summary Множественное
399
+ * @example "дней", "мошек"
400
+ */
401
+ plural: _RusNumber<3>;
402
+ }, "value">;
403
+ }> ? Provider.Value<TInferExclude, {
404
+ __KEY__?: "value";
405
+ value: Mapping.ValueBase<{
406
+ /**
407
+ * @summary Единственное
408
+ * @example "день", "мошка"
409
+ */
410
+ singular: _RusNumber<1>;
411
+ /**
412
+ * @summary Двойственное
413
+ * @example "дня", "мошки"
414
+ */
415
+ dual: _RusNumber<2>;
416
+ /**
417
+ * @summary Множественное
418
+ * @example "дней", "мошек"
419
+ */
420
+ plural: _RusNumber<3>;
421
+ }, "value">;
422
+ }> : never>, 1 | 2 | 3>], keyof TTemplate>;
423
+ R: TTemplate[Extract<TS.Structure.Reverse<{
424
+ /**
425
+ * @summary Единственное
426
+ * @example "день", "мошка"
427
+ */
428
+ singular: _RusNumber<1>;
429
+ /**
430
+ * @summary Двойственное
431
+ * @example "дня", "мошки"
432
+ */
433
+ dual: _RusNumber<2>;
434
+ /**
435
+ * @summary Множественное
436
+ * @example "дней", "мошек"
437
+ */
438
+ plural: _RusNumber<3>;
439
+ }, "value">[Extract<Exclude<TInferValue extends Provider.Union<{
440
+ __KEY__?: "value";
441
+ value: Mapping.ValueBase<{
442
+ /**
443
+ * @summary Единственное
444
+ * @example "день", "мошка"
445
+ */
446
+ singular: _RusNumber<1>;
447
+ /**
448
+ * @summary Двойственное
449
+ * @example "дня", "мошки"
450
+ */
451
+ dual: _RusNumber<2>;
452
+ /**
453
+ * @summary Множественное
454
+ * @example "дней", "мошек"
455
+ */
456
+ plural: _RusNumber<3>;
457
+ }, "value">;
458
+ }> ? Provider.Value<TInferValue, {
459
+ __KEY__?: "value";
460
+ value: Mapping.ValueBase<{
461
+ /**
462
+ * @summary Единственное
463
+ * @example "день", "мошка"
464
+ */
465
+ singular: _RusNumber<1>;
466
+ /**
467
+ * @summary Двойственное
468
+ * @example "дня", "мошки"
469
+ */
470
+ dual: _RusNumber<2>;
471
+ /**
472
+ * @summary Множественное
473
+ * @example "дней", "мошек"
474
+ */
475
+ plural: _RusNumber<3>;
476
+ }, "value">;
477
+ }> : never, TInferExclude extends Provider.Union<{
478
+ __KEY__?: "value";
479
+ value: Mapping.ValueBase<{
480
+ /**
481
+ * @summary Единственное
482
+ * @example "день", "мошка"
483
+ */
484
+ singular: _RusNumber<1>;
485
+ /**
486
+ * @summary Двойственное
487
+ * @example "дня", "мошки"
488
+ */
489
+ dual: _RusNumber<2>;
490
+ /**
491
+ * @summary Множественное
492
+ * @example "дней", "мошек"
493
+ */
494
+ plural: _RusNumber<3>;
495
+ }, "value">;
496
+ }> ? Provider.Value<TInferExclude, {
497
+ __KEY__?: "value";
498
+ value: Mapping.ValueBase<{
499
+ /**
500
+ * @summary Единственное
501
+ * @example "день", "мошка"
502
+ */
503
+ singular: _RusNumber<1>;
504
+ /**
505
+ * @summary Двойственное
506
+ * @example "дня", "мошки"
507
+ */
508
+ dual: _RusNumber<2>;
509
+ /**
510
+ * @summary Множественное
511
+ * @example "дней", "мошек"
512
+ */
513
+ plural: _RusNumber<3>;
514
+ }, "value">;
515
+ }> : never>, 1 | 2 | 3>], keyof TTemplate>];
516
+ TReversedMap: {
517
+ 1: "singular";
518
+ 2: "dual";
519
+ 3: "plural";
520
+ };
521
+ } = {
522
+ TProviderFiled: "value";
523
+ TValueBase: Mapping.ValueBase<{
524
+ /**
525
+ * @summary Единственное
526
+ * @example "день", "мошка"
527
+ */
528
+ singular: _RusNumber<1>;
529
+ /**
530
+ * @summary Двойственное
531
+ * @example "дня", "мошки"
532
+ */
533
+ dual: _RusNumber<2>;
534
+ /**
535
+ * @summary Множественное
536
+ * @example "дней", "мошек"
537
+ */
538
+ plural: _RusNumber<3>;
539
+ }, "value">;
540
+ TValue: TInferValue;
541
+ TExclude: TInferExclude;
542
+ VF: TInferValue extends Provider.Union<{
543
+ __KEY__?: "value";
544
+ value: Mapping.ValueBase<{
545
+ /**
546
+ * @summary Единственное
547
+ * @example "день", "мошка"
548
+ */
549
+ singular: _RusNumber<1>;
550
+ /**
551
+ * @summary Двойственное
552
+ * @example "дня", "мошки"
553
+ */
554
+ dual: _RusNumber<2>;
555
+ /**
556
+ * @summary Множественное
557
+ * @example "дней", "мошек"
558
+ */
559
+ plural: _RusNumber<3>;
560
+ }, "value">;
561
+ }> ? Provider.Value<TInferValue, {
562
+ __KEY__?: "value";
563
+ value: Mapping.ValueBase<{
564
+ /**
565
+ * @summary Единственное
566
+ * @example "день", "мошка"
567
+ */
568
+ singular: _RusNumber<1>;
569
+ /**
570
+ * @summary Двойственное
571
+ * @example "дня", "мошки"
572
+ */
573
+ dual: _RusNumber<2>;
574
+ /**
575
+ * @summary Множественное
576
+ * @example "дней", "мошек"
577
+ */
578
+ plural: _RusNumber<3>;
579
+ }, "value">;
580
+ }> : never;
581
+ EF: TInferExclude extends Provider.Union<{
582
+ __KEY__?: "value";
583
+ value: Mapping.ValueBase<{
584
+ /**
585
+ * @summary Единственное
586
+ * @example "день", "мошка"
587
+ */
588
+ singular: _RusNumber<1>;
589
+ /**
590
+ * @summary Двойственное
591
+ * @example "дня", "мошки"
592
+ */
593
+ dual: _RusNumber<2>;
594
+ /**
595
+ * @summary Множественное
596
+ * @example "дней", "мошек"
597
+ */
598
+ plural: _RusNumber<3>;
599
+ }, "value">;
600
+ }> ? Provider.Value<TInferExclude, {
601
+ __KEY__?: "value";
602
+ value: Mapping.ValueBase<{
603
+ /**
604
+ * @summary Единственное
605
+ * @example "день", "мошка"
606
+ */
607
+ singular: _RusNumber<1>;
608
+ /**
609
+ * @summary Двойственное
610
+ * @example "дня", "мошки"
611
+ */
612
+ dual: _RusNumber<2>;
613
+ /**
614
+ * @summary Множественное
615
+ * @example "дней", "мошек"
616
+ */
617
+ plural: _RusNumber<3>;
618
+ }, "value">;
619
+ }> : never;
620
+ V: Exclude<TInferValue extends Provider.Union<{
621
+ __KEY__?: "value";
622
+ value: Mapping.ValueBase<{
623
+ /**
624
+ * @summary Единственное
625
+ * @example "день", "мошка"
626
+ */
627
+ singular: _RusNumber<1>;
628
+ /**
629
+ * @summary Двойственное
630
+ * @example "дня", "мошки"
631
+ */
632
+ dual: _RusNumber<2>;
633
+ /**
634
+ * @summary Множественное
635
+ * @example "дней", "мошек"
636
+ */
637
+ plural: _RusNumber<3>;
638
+ }, "value">;
639
+ }> ? Provider.Value<TInferValue, {
640
+ __KEY__?: "value";
641
+ value: Mapping.ValueBase<{
642
+ /**
643
+ * @summary Единственное
644
+ * @example "день", "мошка"
645
+ */
646
+ singular: _RusNumber<1>;
647
+ /**
648
+ * @summary Двойственное
649
+ * @example "дня", "мошки"
650
+ */
651
+ dual: _RusNumber<2>;
652
+ /**
653
+ * @summary Множественное
654
+ * @example "дней", "мошек"
655
+ */
656
+ plural: _RusNumber<3>;
657
+ }, "value">;
658
+ }> : never, TInferExclude extends Provider.Union<{
659
+ __KEY__?: "value";
660
+ value: Mapping.ValueBase<{
661
+ /**
662
+ * @summary Единственное
663
+ * @example "день", "мошка"
664
+ */
665
+ singular: _RusNumber<1>;
666
+ /**
667
+ * @summary Двойственное
668
+ * @example "дня", "мошки"
669
+ */
670
+ dual: _RusNumber<2>;
671
+ /**
672
+ * @summary Множественное
673
+ * @example "дней", "мошек"
674
+ */
675
+ plural: _RusNumber<3>;
676
+ }, "value">;
677
+ }> ? Provider.Value<TInferExclude, {
678
+ __KEY__?: "value";
679
+ value: Mapping.ValueBase<{
680
+ /**
681
+ * @summary Единственное
682
+ * @example "день", "мошка"
683
+ */
684
+ singular: _RusNumber<1>;
685
+ /**
686
+ * @summary Двойственное
687
+ * @example "дня", "мошки"
688
+ */
689
+ dual: _RusNumber<2>;
690
+ /**
691
+ * @summary Множественное
692
+ * @example "дней", "мошек"
693
+ */
694
+ plural: _RusNumber<3>;
695
+ }, "value">;
696
+ }> : never>;
697
+ MK: Extract<Exclude<TInferValue extends Provider.Union<{
698
+ __KEY__?: "value";
699
+ value: Mapping.ValueBase<{
700
+ /**
701
+ * @summary Единственное
702
+ * @example "день", "мошка"
703
+ */
704
+ singular: _RusNumber<1>;
705
+ /**
706
+ * @summary Двойственное
707
+ * @example "дня", "мошки"
708
+ */
709
+ dual: _RusNumber<2>;
710
+ /**
711
+ * @summary Множественное
712
+ * @example "дней", "мошек"
713
+ */
714
+ plural: _RusNumber<3>;
715
+ }, "value">;
716
+ }> ? Provider.Value<TInferValue, {
717
+ __KEY__?: "value";
718
+ value: Mapping.ValueBase<{
719
+ /**
720
+ * @summary Единственное
721
+ * @example "день", "мошка"
722
+ */
723
+ singular: _RusNumber<1>;
724
+ /**
725
+ * @summary Двойственное
726
+ * @example "дня", "мошки"
727
+ */
728
+ dual: _RusNumber<2>;
729
+ /**
730
+ * @summary Множественное
731
+ * @example "дней", "мошек"
732
+ */
733
+ plural: _RusNumber<3>;
734
+ }, "value">;
735
+ }> : never, TInferExclude extends Provider.Union<{
736
+ __KEY__?: "value";
737
+ value: Mapping.ValueBase<{
738
+ /**
739
+ * @summary Единственное
740
+ * @example "день", "мошка"
741
+ */
742
+ singular: _RusNumber<1>;
743
+ /**
744
+ * @summary Двойственное
745
+ * @example "дня", "мошки"
746
+ */
747
+ dual: _RusNumber<2>;
748
+ /**
749
+ * @summary Множественное
750
+ * @example "дней", "мошек"
751
+ */
752
+ plural: _RusNumber<3>;
753
+ }, "value">;
754
+ }> ? Provider.Value<TInferExclude, {
755
+ __KEY__?: "value";
756
+ value: Mapping.ValueBase<{
757
+ /**
758
+ * @summary Единственное
759
+ * @example "день", "мошка"
760
+ */
761
+ singular: _RusNumber<1>;
762
+ /**
763
+ * @summary Двойственное
764
+ * @example "дня", "мошки"
765
+ */
766
+ dual: _RusNumber<2>;
767
+ /**
768
+ * @summary Множественное
769
+ * @example "дней", "мошек"
770
+ */
771
+ plural: _RusNumber<3>;
772
+ }, "value">;
773
+ }> : never>, 1 | 2 | 3>;
774
+ TK: Extract<TS.Structure.Reverse<{
775
+ /**
776
+ * @summary Единственное
777
+ * @example "день", "мошка"
778
+ */
779
+ singular: _RusNumber<1>;
780
+ /**
781
+ * @summary Двойственное
782
+ * @example "дня", "мошки"
783
+ */
784
+ dual: _RusNumber<2>;
785
+ /**
786
+ * @summary Множественное
787
+ * @example "дней", "мошек"
788
+ */
789
+ plural: _RusNumber<3>;
790
+ }, "value">[Extract<Exclude<TInferValue extends Provider.Union<{
791
+ __KEY__?: "value";
792
+ value: Mapping.ValueBase<{
793
+ /**
794
+ * @summary Единственное
795
+ * @example "день", "мошка"
796
+ */
797
+ singular: _RusNumber<1>;
798
+ /**
799
+ * @summary Двойственное
800
+ * @example "дня", "мошки"
801
+ */
802
+ dual: _RusNumber<2>;
803
+ /**
804
+ * @summary Множественное
805
+ * @example "дней", "мошек"
806
+ */
807
+ plural: _RusNumber<3>;
808
+ }, "value">;
809
+ }> ? Provider.Value<TInferValue, {
810
+ __KEY__?: "value";
811
+ value: Mapping.ValueBase<{
812
+ /**
813
+ * @summary Единственное
814
+ * @example "день", "мошка"
815
+ */
816
+ singular: _RusNumber<1>;
817
+ /**
818
+ * @summary Двойственное
819
+ * @example "дня", "мошки"
820
+ */
821
+ dual: _RusNumber<2>;
822
+ /**
823
+ * @summary Множественное
824
+ * @example "дней", "мошек"
825
+ */
826
+ plural: _RusNumber<3>;
827
+ }, "value">;
828
+ }> : never, TInferExclude extends Provider.Union<{
829
+ __KEY__?: "value";
830
+ value: Mapping.ValueBase<{
831
+ /**
832
+ * @summary Единственное
833
+ * @example "день", "мошка"
834
+ */
835
+ singular: _RusNumber<1>;
836
+ /**
837
+ * @summary Двойственное
838
+ * @example "дня", "мошки"
839
+ */
840
+ dual: _RusNumber<2>;
841
+ /**
842
+ * @summary Множественное
843
+ * @example "дней", "мошек"
844
+ */
845
+ plural: _RusNumber<3>;
846
+ }, "value">;
847
+ }> ? Provider.Value<TInferExclude, {
848
+ __KEY__?: "value";
849
+ value: Mapping.ValueBase<{
850
+ /**
851
+ * @summary Единственное
852
+ * @example "день", "мошка"
853
+ */
854
+ singular: _RusNumber<1>;
855
+ /**
856
+ * @summary Двойственное
857
+ * @example "дня", "мошки"
858
+ */
859
+ dual: _RusNumber<2>;
860
+ /**
861
+ * @summary Множественное
862
+ * @example "дней", "мошек"
863
+ */
864
+ plural: _RusNumber<3>;
865
+ }, "value">;
866
+ }> : never>, 1 | 2 | 3>], keyof TTemplate>;
867
+ R: TTemplate[Extract<TS.Structure.Reverse<{
868
+ /**
869
+ * @summary Единственное
870
+ * @example "день", "мошка"
871
+ */
872
+ singular: _RusNumber<1>;
873
+ /**
874
+ * @summary Двойственное
875
+ * @example "дня", "мошки"
876
+ */
877
+ dual: _RusNumber<2>;
878
+ /**
879
+ * @summary Множественное
880
+ * @example "дней", "мошек"
881
+ */
882
+ plural: _RusNumber<3>;
883
+ }, "value">[Extract<Exclude<TInferValue extends Provider.Union<{
884
+ __KEY__?: "value";
885
+ value: Mapping.ValueBase<{
886
+ /**
887
+ * @summary Единственное
888
+ * @example "день", "мошка"
889
+ */
890
+ singular: _RusNumber<1>;
891
+ /**
892
+ * @summary Двойственное
893
+ * @example "дня", "мошки"
894
+ */
895
+ dual: _RusNumber<2>;
896
+ /**
897
+ * @summary Множественное
898
+ * @example "дней", "мошек"
899
+ */
900
+ plural: _RusNumber<3>;
901
+ }, "value">;
902
+ }> ? Provider.Value<TInferValue, {
903
+ __KEY__?: "value";
904
+ value: Mapping.ValueBase<{
905
+ /**
906
+ * @summary Единственное
907
+ * @example "день", "мошка"
908
+ */
909
+ singular: _RusNumber<1>;
910
+ /**
911
+ * @summary Двойственное
912
+ * @example "дня", "мошки"
913
+ */
914
+ dual: _RusNumber<2>;
915
+ /**
916
+ * @summary Множественное
917
+ * @example "дней", "мошек"
918
+ */
919
+ plural: _RusNumber<3>;
920
+ }, "value">;
921
+ }> : never, TInferExclude extends Provider.Union<{
922
+ __KEY__?: "value";
923
+ value: Mapping.ValueBase<{
924
+ /**
925
+ * @summary Единственное
926
+ * @example "день", "мошка"
927
+ */
928
+ singular: _RusNumber<1>;
929
+ /**
930
+ * @summary Двойственное
931
+ * @example "дня", "мошки"
932
+ */
933
+ dual: _RusNumber<2>;
934
+ /**
935
+ * @summary Множественное
936
+ * @example "дней", "мошек"
937
+ */
938
+ plural: _RusNumber<3>;
939
+ }, "value">;
940
+ }> ? Provider.Value<TInferExclude, {
941
+ __KEY__?: "value";
942
+ value: Mapping.ValueBase<{
943
+ /**
944
+ * @summary Единственное
945
+ * @example "день", "мошка"
946
+ */
947
+ singular: _RusNumber<1>;
948
+ /**
949
+ * @summary Двойственное
950
+ * @example "дня", "мошки"
951
+ */
952
+ dual: _RusNumber<2>;
953
+ /**
954
+ * @summary Множественное
955
+ * @example "дней", "мошек"
956
+ */
957
+ plural: _RusNumber<3>;
958
+ }, "value">;
959
+ }> : never>, 1 | 2 | 3>], keyof TTemplate>];
960
+ TReversedMap: {
961
+ 1: "singular";
962
+ 2: "dual";
963
+ 3: "plural";
964
+ };
965
+ }>(value: TInferValue, exclude?: TInferExclude) => TInferResult["R"];
966
+ switch: AVStantso_EnumClass.Switch<typeof _RusNumber>;
967
+ Extender: Extend.ByRecord<"singular" | "dual" | "plural", AVStantso_EnumClass.Item<typeof _RusNumber, "singular" | "dual" | "plural", false>>;
968
+ withSubstantive: Rus.Number.WithSubstantive;
969
+ };
970
+ export namespace Rus {
971
+ /**
972
+ * @summary Число в русском языке
973
+ * @example 1 - "день", 2-3-4 - "дня", 0-5+ - "дней"
974
+ */
975
+ namespace Number {
976
+ type Key = typeof RusNumber.Key;
977
+ /**
978
+ * @summary Формы слова на русском языке в единственном, двойственном и множественном числе
979
+ */
980
+ type WordForms = Record<Key, string>;
981
+ interface WithSubstantive {
982
+ /**
983
+ * @summary Выбор формы существительного по переданному математическому числу
984
+ * @param wordForms Формы слова на русском языке в единственном, двойственном и множественном числе
985
+ * @param num Математическое число
986
+ */
987
+ (wordForms: WordForms): (num: number) => string;
988
+ /**
989
+ * @summary Выбор формы существительного по переданному математическому числу
990
+ * @param singular Форма слова на русском языке в единственном числе
991
+ * @param dual Форма слова на русском языке в двойственном числе
992
+ * @param plural Форма слова на русском языке во множественном числе
993
+ * @param num Математическое число
994
+ */
995
+ (singular: string, dual: string, plural: string): (num: number) => string;
996
+ }
997
+ }
998
+ type Number = typeof RusNumber.Item;
999
+ }
1000
+ export namespace Code {
1001
+ interface Rus {
1002
+ /**
1003
+ * @summary Число в русском языке
1004
+ * @example 1 - "день", 2-3-4 - "дня", 0-5+ - "дней"
1005
+ */
1006
+ Number: typeof RusNumber;
1007
+ }
1008
+ }
1009
+ export {};
1010
+ }