@marteye/studiojs 1.1.2 → 1.1.4
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.
- package/dist/index.d.ts +737 -3
- package/dist/index.esm.js +67 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +67 -3
- package/dist/index.js.map +1 -1
- package/dist/resources/webhooks.d.ts +2 -1
- package/dist/resources.d.ts +1 -1
- package/dist/studio.d.ts +7 -2
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
type Timestamp = string;
|
|
2
|
+
type ClientType = "Seller" | "Buyer";
|
|
2
3
|
type SuperType = "Sheep" | "Goats" | "Cattle" | "Pigs" | "Horses" | "Deer" | "Poultry" | "Machinery" | "Antiques" | "Other";
|
|
4
|
+
declare const SupportedSuperTypes: SuperType[];
|
|
5
|
+
declare const LivestockSuperTypes: SuperType[];
|
|
3
6
|
type Currency = "GBP" | "EUR" | "USD";
|
|
7
|
+
declare const SupportedCurrencyCodes: Currency[];
|
|
4
8
|
type SupportedCountryCode = "GB-ENG" | "GB-SCT" | "GB-WLS" | "GB-NIR" | "IE";
|
|
5
9
|
type CurrenciesWithGuinea = Currency | "GUINEA-GBP";
|
|
6
10
|
type UnitOfSale = "Per KG" | "Per Item" | "Per Lot" | "Per 1000KG";
|
|
11
|
+
declare const SupportedUnitsOfSale: UnitOfSale[];
|
|
12
|
+
type PaymentMethod = "BACS" | "Cheque" | "BankTransfer" | "Cash" | "Card" | "Credit";
|
|
13
|
+
type PayoutMethod = "BACS" | "Cheque" | "Cash";
|
|
14
|
+
declare const SupportedPaymentMethods: PaymentMethod[];
|
|
7
15
|
interface Market {
|
|
8
16
|
id: string;
|
|
9
17
|
createdAt: Timestamp;
|
|
@@ -25,7 +33,76 @@ interface Market {
|
|
|
25
33
|
}[];
|
|
26
34
|
paymentInstructions?: string;
|
|
27
35
|
}
|
|
36
|
+
interface SettingsMarketDefaults {
|
|
37
|
+
updatedAt: Timestamp;
|
|
38
|
+
updatedBy: string | null;
|
|
39
|
+
marketId: string;
|
|
40
|
+
name: string;
|
|
41
|
+
description: string;
|
|
42
|
+
address: Address;
|
|
43
|
+
defaultCurrency: Currency;
|
|
44
|
+
defaultPayoutPreference: PayoutMethod;
|
|
45
|
+
defaultUnitOfSale: UnitOfSale;
|
|
46
|
+
defaultSuperType?: SuperType | null;
|
|
47
|
+
lotDescriptionTemplateMap?: {
|
|
48
|
+
default: string | undefined;
|
|
49
|
+
[supertype: string]: string | undefined;
|
|
50
|
+
};
|
|
51
|
+
rostrumAttributesMap?: {
|
|
52
|
+
default: string[] | undefined;
|
|
53
|
+
[supertype: string]: string[] | undefined;
|
|
54
|
+
};
|
|
55
|
+
selectDocumentIdsMap: {
|
|
56
|
+
[supertype: string]: string[];
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
interface SettingsProductCodes {
|
|
60
|
+
[code: string]: ProductCodeConfiguration;
|
|
61
|
+
}
|
|
62
|
+
interface SettingsTaxRates {
|
|
63
|
+
[id: string]: TaxRate;
|
|
64
|
+
}
|
|
65
|
+
interface SettingsAdjustmentsConfiguration {
|
|
66
|
+
[id: string]: AdjustmentsConfiguration;
|
|
67
|
+
}
|
|
68
|
+
interface SettingsAccessories {
|
|
69
|
+
[id: string]: Accessory;
|
|
70
|
+
}
|
|
71
|
+
interface SettingsPrinters {
|
|
72
|
+
[id: string]: Printer;
|
|
73
|
+
}
|
|
74
|
+
type DeviceType = "globeWeigh" | "allflexRaceReader";
|
|
75
|
+
interface Accessory {
|
|
76
|
+
deviceId: string;
|
|
77
|
+
deviceType: DeviceType;
|
|
78
|
+
friendlyName: string;
|
|
79
|
+
endOfMessagePattern: string;
|
|
80
|
+
host: string;
|
|
81
|
+
isEnabled: boolean;
|
|
82
|
+
port: number;
|
|
83
|
+
regex: string;
|
|
84
|
+
saleProfileId: string;
|
|
85
|
+
timeoutMs: number;
|
|
86
|
+
updatedAt: Timestamp;
|
|
87
|
+
createdAt: Timestamp;
|
|
88
|
+
}
|
|
89
|
+
interface SettingsGlobalAttributes {
|
|
90
|
+
[id: string]: AttributeDefinition;
|
|
91
|
+
}
|
|
28
92
|
type AttributeValueType = string | number | boolean | Timestamp | Media;
|
|
93
|
+
/****
|
|
94
|
+
* Used to grant a user access to a market.
|
|
95
|
+
* Each member of staff should have their own.
|
|
96
|
+
*/
|
|
97
|
+
interface MemberSharingConfiguration {
|
|
98
|
+
uid: string;
|
|
99
|
+
createdAt: Timestamp;
|
|
100
|
+
updatedAt: Timestamp;
|
|
101
|
+
displayName?: string;
|
|
102
|
+
photoURL?: string;
|
|
103
|
+
marketId: string;
|
|
104
|
+
role: "Owner" | "Admin" | "Editor";
|
|
105
|
+
}
|
|
29
106
|
interface Sale {
|
|
30
107
|
id: string;
|
|
31
108
|
createdAt: Timestamp;
|
|
@@ -119,6 +196,11 @@ interface IncrementLadderItem {
|
|
|
119
196
|
max: number;
|
|
120
197
|
increment: number;
|
|
121
198
|
}
|
|
199
|
+
interface SaleFromSearch extends Omit<Omit<Omit<Sale, "createdAt">, "updatedAt">, "startsAt"> {
|
|
200
|
+
createdAt: number;
|
|
201
|
+
updatedAt: number;
|
|
202
|
+
startsAt: number;
|
|
203
|
+
}
|
|
122
204
|
type LotSaleStatus = "Sold" | "Unsold" | "Rerun" | "Resold" | null;
|
|
123
205
|
interface Lot {
|
|
124
206
|
id: string;
|
|
@@ -197,6 +279,9 @@ interface LotIssue {
|
|
|
197
279
|
createdBy: string;
|
|
198
280
|
blockCheckout: boolean;
|
|
199
281
|
}
|
|
282
|
+
interface LotWithItemsAsArray extends Omit<Lot, "itemMap"> {
|
|
283
|
+
items: LotItem[];
|
|
284
|
+
}
|
|
200
285
|
interface LotGeneratedValues {
|
|
201
286
|
totalValueInCents?: number | null;
|
|
202
287
|
description?: string | null;
|
|
@@ -232,6 +317,218 @@ interface LotItem {
|
|
|
232
317
|
[key: string]: string | number | boolean | Timestamp | Media;
|
|
233
318
|
};
|
|
234
319
|
}
|
|
320
|
+
/***
|
|
321
|
+
* When a product is added to a cart it becomes a CartProductItem
|
|
322
|
+
*
|
|
323
|
+
*
|
|
324
|
+
* markets/ballymena/carts/{userId}
|
|
325
|
+
*
|
|
326
|
+
* {id: CartItem}
|
|
327
|
+
*/
|
|
328
|
+
interface CartItem {
|
|
329
|
+
id: string;
|
|
330
|
+
createdAt: Timestamp;
|
|
331
|
+
updatedAt: Timestamp;
|
|
332
|
+
updatedBy?: string | null;
|
|
333
|
+
marketId: string;
|
|
334
|
+
customerId: string;
|
|
335
|
+
productId: string;
|
|
336
|
+
clientType: ClientType;
|
|
337
|
+
quantity: number;
|
|
338
|
+
unitPriceInCents: number;
|
|
339
|
+
passthroughFundsToCustomerId?: string | null;
|
|
340
|
+
generated?: {
|
|
341
|
+
totalInCents: number;
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
/***
|
|
345
|
+
* Items have codes. And those codes are used to apply the correct commission rates, report movements etc.
|
|
346
|
+
*/
|
|
347
|
+
interface ProductCodeConfiguration {
|
|
348
|
+
code: string;
|
|
349
|
+
createdAt?: Timestamp;
|
|
350
|
+
updatedAt?: Timestamp;
|
|
351
|
+
updatedBy?: string | null;
|
|
352
|
+
superType: SuperType;
|
|
353
|
+
description: string;
|
|
354
|
+
icon?: string;
|
|
355
|
+
metadata: {
|
|
356
|
+
[key: string]: string | number | boolean | Timestamp | Media;
|
|
357
|
+
};
|
|
358
|
+
taxRateId: string;
|
|
359
|
+
subtotalGroup?: SubtotalGroups | null;
|
|
360
|
+
adjustmentIds: string[];
|
|
361
|
+
unitPriceIncludesVat?: boolean;
|
|
362
|
+
totalExVatRebatePecentage?: number;
|
|
363
|
+
defaultCurrency?: CurrenciesWithGuinea;
|
|
364
|
+
defaultUnitOfSale: UnitOfSale;
|
|
365
|
+
defaultLotRange?: {
|
|
366
|
+
min: number;
|
|
367
|
+
max: number;
|
|
368
|
+
};
|
|
369
|
+
attributeDefaults?: {
|
|
370
|
+
[attributekey: string]: AttributeValueType;
|
|
371
|
+
};
|
|
372
|
+
lotDescriptionTemplate?: string;
|
|
373
|
+
rostrumAttributes?: string[];
|
|
374
|
+
selectDocumentIds?: string[] | null;
|
|
375
|
+
}
|
|
376
|
+
/***
|
|
377
|
+
* How the products are stored in settings
|
|
378
|
+
*/
|
|
379
|
+
interface ProductConfiguration {
|
|
380
|
+
[id: string]: Product;
|
|
381
|
+
}
|
|
382
|
+
/***
|
|
383
|
+
* A market may offer other products and services. This is a way to track those.
|
|
384
|
+
* They simply create a line item on the invoice
|
|
385
|
+
*
|
|
386
|
+
* /settings/products
|
|
387
|
+
*/
|
|
388
|
+
interface Product {
|
|
389
|
+
id: string;
|
|
390
|
+
createdAt: Timestamp;
|
|
391
|
+
updatedAt: Timestamp;
|
|
392
|
+
marketId: string;
|
|
393
|
+
name: string;
|
|
394
|
+
taxRateId: string;
|
|
395
|
+
defaultUnitPriceInCents: number;
|
|
396
|
+
unitPriceIncludesVat?: boolean;
|
|
397
|
+
applyToClients: ClientType[];
|
|
398
|
+
subtotalGroup?: SubtotalGroups | null | undefined;
|
|
399
|
+
passThroughFundsToAnotherCustomer?: boolean;
|
|
400
|
+
isEnabled?: boolean;
|
|
401
|
+
metadata: {
|
|
402
|
+
[key: string]: string | number | boolean | Timestamp | Media;
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
/***
|
|
406
|
+
* A market may offer other products and services. This is a way to track those.
|
|
407
|
+
* They simply create a line item on the invoice
|
|
408
|
+
*/
|
|
409
|
+
interface Product {
|
|
410
|
+
id: string;
|
|
411
|
+
createdAt: Timestamp;
|
|
412
|
+
updatedAt: Timestamp;
|
|
413
|
+
marketId: string;
|
|
414
|
+
name: string;
|
|
415
|
+
taxRateId: string;
|
|
416
|
+
defaultUnitPriceInCents: number;
|
|
417
|
+
unitPriceIncludesVat?: boolean;
|
|
418
|
+
applyToClients: ClientType[];
|
|
419
|
+
subtotalGroup?: SubtotalGroups | null | undefined;
|
|
420
|
+
passThroughFundsToAnotherCustomer?: boolean;
|
|
421
|
+
relatedTo?: {
|
|
422
|
+
lotId: string;
|
|
423
|
+
saleId: string;
|
|
424
|
+
} | null;
|
|
425
|
+
obfusicate?: boolean;
|
|
426
|
+
metadata: {
|
|
427
|
+
[key: string]: string | number | boolean | Timestamp | Media;
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
interface Cart {
|
|
431
|
+
updatedAt: Timestamp;
|
|
432
|
+
itemsById: {
|
|
433
|
+
[itemId: string]: CartItem;
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
interface EmailWrapper {
|
|
437
|
+
email: string;
|
|
438
|
+
isVerified: boolean;
|
|
439
|
+
createdAt: Timestamp;
|
|
440
|
+
}
|
|
441
|
+
interface PhoneNumberWrapper {
|
|
442
|
+
phoneNumber: string;
|
|
443
|
+
isVerified: boolean;
|
|
444
|
+
createdAt: Timestamp;
|
|
445
|
+
}
|
|
446
|
+
interface AddressWrapper {
|
|
447
|
+
address: Address;
|
|
448
|
+
createdAt: Timestamp;
|
|
449
|
+
updatedAt?: Timestamp;
|
|
450
|
+
updatedBy?: string | null;
|
|
451
|
+
}
|
|
452
|
+
interface FarmAssurances {
|
|
453
|
+
createdAt: Timestamp;
|
|
454
|
+
updatedAt?: Timestamp;
|
|
455
|
+
updatedBy?: string | null;
|
|
456
|
+
memberReference: string;
|
|
457
|
+
expiryDate: Timestamp;
|
|
458
|
+
scope?: "Beef" | "Dairy" | "Pork" | "Sheep" | "Other";
|
|
459
|
+
}
|
|
460
|
+
type BankDetails = {
|
|
461
|
+
accountName?: string;
|
|
462
|
+
} & ({
|
|
463
|
+
accountNumber: string;
|
|
464
|
+
sortCode: string;
|
|
465
|
+
IBAN?: never;
|
|
466
|
+
} | {
|
|
467
|
+
IBAN: string;
|
|
468
|
+
accountNumber?: never;
|
|
469
|
+
sortCode?: never;
|
|
470
|
+
});
|
|
471
|
+
/**
|
|
472
|
+
* Used to store the bank details for a market
|
|
473
|
+
*/
|
|
474
|
+
type MarketBankDetails = {
|
|
475
|
+
name: string;
|
|
476
|
+
bankId: string;
|
|
477
|
+
address: Address;
|
|
478
|
+
} & ({
|
|
479
|
+
accountNumber: string;
|
|
480
|
+
sortCode: string;
|
|
481
|
+
IBAN?: never;
|
|
482
|
+
} | {
|
|
483
|
+
IBAN: string;
|
|
484
|
+
accountNumber?: never;
|
|
485
|
+
sortCode?: never;
|
|
486
|
+
});
|
|
487
|
+
interface Customer {
|
|
488
|
+
id: string;
|
|
489
|
+
createdAt: Timestamp;
|
|
490
|
+
updatedAt: Timestamp;
|
|
491
|
+
updatedBy?: string | null;
|
|
492
|
+
marketId: string;
|
|
493
|
+
isMarketAccount?: boolean;
|
|
494
|
+
accountNumber?: string;
|
|
495
|
+
bidderNumber?: number | null;
|
|
496
|
+
firstName?: string | null;
|
|
497
|
+
lastName?: string | null;
|
|
498
|
+
tradingName?: string | null;
|
|
499
|
+
email?: EmailWrapper;
|
|
500
|
+
phoneNumber?: PhoneNumberWrapper;
|
|
501
|
+
otherPhoneNumbers?: PhoneNumberWrapper[];
|
|
502
|
+
address: AddressWrapper;
|
|
503
|
+
otherAddresses: {
|
|
504
|
+
[addressId: string]: AddressWrapper;
|
|
505
|
+
};
|
|
506
|
+
photoURL?: string | null;
|
|
507
|
+
payoutPreference?: PayoutMethod;
|
|
508
|
+
bankDetails?: BankDetails;
|
|
509
|
+
attributeDefaultsBuyer?: {
|
|
510
|
+
[attributekey: string]: AttributeValueType[];
|
|
511
|
+
};
|
|
512
|
+
attributeDefaultsSeller?: {
|
|
513
|
+
[attributekey: string]: AttributeValueType[];
|
|
514
|
+
};
|
|
515
|
+
preferSettleDebtsFirst?: boolean;
|
|
516
|
+
vatNumber?: string;
|
|
517
|
+
metadata: {
|
|
518
|
+
[key: string]: string | number | boolean | Timestamp | Media;
|
|
519
|
+
};
|
|
520
|
+
lastItemPurchaseDate?: Timestamp;
|
|
521
|
+
lastItemSaleDate?: Timestamp;
|
|
522
|
+
hasPurchasedItems?: boolean;
|
|
523
|
+
hasSoldItems?: boolean;
|
|
524
|
+
notes?: string;
|
|
525
|
+
}
|
|
526
|
+
interface CustomerFromSearch extends Omit<Customer, "createdAt" | "updatedAt" | "lastItemPurchaseDate" | "lastItemSaleDate"> {
|
|
527
|
+
createdAt: number;
|
|
528
|
+
updatedAt: number;
|
|
529
|
+
lastItemPurchaseDate?: number;
|
|
530
|
+
lastItemSaleDate?: number;
|
|
531
|
+
}
|
|
235
532
|
interface Address {
|
|
236
533
|
id: string;
|
|
237
534
|
nickname?: string;
|
|
@@ -261,7 +558,334 @@ interface Media {
|
|
|
261
558
|
large?: ImageThumbnail;
|
|
262
559
|
};
|
|
263
560
|
}
|
|
561
|
+
type MarketReportHeaders = "grossServices" | "vatOnServices" | "grossGoods" | "vatOnGoods" | "netTotal" | "contra";
|
|
562
|
+
/**
|
|
563
|
+
* Content types which will denote the position of the data on the invoice wihth out with a cheque
|
|
564
|
+
*/
|
|
565
|
+
type FieldPositions = {
|
|
566
|
+
id: ChequeField | InvoiceField;
|
|
567
|
+
x: number;
|
|
568
|
+
y: number;
|
|
569
|
+
};
|
|
570
|
+
type InvoiceField = "invoiceNumber" | "invoiceDate" | "description" | "lotNumber" | "quantity" | "weight" | "unitPrice" | "grossLineTotal" | "accountRef" | "accountName" | "businessAddress" | "customerAddress" | "lineItemsStartLine" | "footerBoundaryLine" | "vatNumber" | "saleName" | "subTotal" | "subTotalTable" | "tagList" | "tagNumber";
|
|
571
|
+
type ChequeField = "chequeDate" | "chequeNumber" | "payee" | "amount" | "amountInWords" | "hunderdsOfThousands" | "tensOfThousands" | "thousands" | "hundreds" | "tens" | "units";
|
|
572
|
+
type SubtotalGroups = "Commission" | string;
|
|
573
|
+
type AdjustmentTotalTarget = "Per Invoice" | "Total - finalTotalInCents" | "Total - lotTotalLessCommissionInCentsExVat";
|
|
574
|
+
type AdjustmentTarget = UnitOfSale | AdjustmentTotalTarget;
|
|
575
|
+
/***
|
|
576
|
+
* Commission is added as a line item. Can also be used for levies etc
|
|
577
|
+
*/
|
|
578
|
+
interface AdjustmentsConfiguration {
|
|
579
|
+
id: string;
|
|
580
|
+
createdAt: Timestamp;
|
|
581
|
+
updatedAt: Timestamp;
|
|
582
|
+
updatedBy?: string | null;
|
|
583
|
+
name?: string | null;
|
|
584
|
+
description?: string | null;
|
|
585
|
+
applyToClients: ClientType[];
|
|
586
|
+
subtotalGroup?: SubtotalGroups | null | undefined;
|
|
587
|
+
type: "commission" | "levy" | "vat-rebate";
|
|
588
|
+
filter?: {
|
|
589
|
+
currency?: CurrenciesWithGuinea | null;
|
|
590
|
+
quantity?: {
|
|
591
|
+
min?: number;
|
|
592
|
+
max?: number;
|
|
593
|
+
} | null;
|
|
594
|
+
unitPrice?: {
|
|
595
|
+
minInCents?: number;
|
|
596
|
+
maxInCents?: number;
|
|
597
|
+
} | null;
|
|
598
|
+
totalPrice?: {
|
|
599
|
+
minInCents?: number;
|
|
600
|
+
maxInCents?: number;
|
|
601
|
+
} | null;
|
|
602
|
+
customerIsVATRegistered?: boolean | null;
|
|
603
|
+
customerWithinTaxRegion?: boolean | null;
|
|
604
|
+
attribute?: {
|
|
605
|
+
key: string;
|
|
606
|
+
value: string | number | boolean | null;
|
|
607
|
+
} | null;
|
|
608
|
+
};
|
|
609
|
+
taxRateId: string;
|
|
610
|
+
adjustment: Adjustment & {
|
|
611
|
+
target: AdjustmentTarget;
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
interface Adjustment {
|
|
615
|
+
percentage?: {
|
|
616
|
+
value?: number;
|
|
617
|
+
floorInCents?: number;
|
|
618
|
+
ceilingInCents?: number;
|
|
619
|
+
} | null;
|
|
620
|
+
fixedAmountInCents?: number | null;
|
|
621
|
+
}
|
|
622
|
+
interface LineItemAdjustmentConfiguration extends AdjustmentsConfiguration {
|
|
623
|
+
adjustment: Adjustment & {
|
|
624
|
+
target: UnitOfSale;
|
|
625
|
+
};
|
|
626
|
+
}
|
|
627
|
+
interface InvoiceTotalAdjustmentConfiguration extends AdjustmentsConfiguration {
|
|
628
|
+
adjustment: Adjustment & {
|
|
629
|
+
target: AdjustmentTotalTarget;
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
/***
|
|
633
|
+
* Tax config is used to generate the invoice but the user can still edit the invoice, overriding the final values.
|
|
634
|
+
*/
|
|
635
|
+
interface TaxRate {
|
|
636
|
+
id: string;
|
|
637
|
+
createdAt: Timestamp;
|
|
638
|
+
updatedAt: Timestamp;
|
|
639
|
+
marketId: string;
|
|
640
|
+
description: string;
|
|
641
|
+
taxSubtotalGroup?: string | null;
|
|
642
|
+
percentage: number;
|
|
643
|
+
isExportTaxRate?: boolean;
|
|
644
|
+
}
|
|
645
|
+
interface Payment {
|
|
646
|
+
id: string;
|
|
647
|
+
createdAt: Timestamp;
|
|
648
|
+
updatedAt: Timestamp;
|
|
649
|
+
updatedBy?: string;
|
|
650
|
+
transactionDate: Timestamp;
|
|
651
|
+
marketId: string;
|
|
652
|
+
customerId: string;
|
|
653
|
+
method: PaymentMethod;
|
|
654
|
+
amountInCents: number;
|
|
655
|
+
reference: string | null;
|
|
656
|
+
status: "complete" | "void";
|
|
657
|
+
voidedAt?: Timestamp | null;
|
|
658
|
+
voidedBy?: string | null;
|
|
659
|
+
voidReason?: string | null;
|
|
660
|
+
invoiceIds: string[];
|
|
661
|
+
transactionIds: string[];
|
|
662
|
+
}
|
|
663
|
+
interface Payout {
|
|
664
|
+
id: string;
|
|
665
|
+
marketId: string;
|
|
666
|
+
createdAt: Timestamp;
|
|
667
|
+
updatedAt: Timestamp;
|
|
668
|
+
updatedBy: string | null;
|
|
669
|
+
customerId: string;
|
|
670
|
+
method: PayoutMethod | "Credit";
|
|
671
|
+
amountInCents: number;
|
|
672
|
+
accountName?: string;
|
|
673
|
+
accountNumber?: string;
|
|
674
|
+
sortCode?: string;
|
|
675
|
+
chequeMadePayableTo?: string;
|
|
676
|
+
transactionDate: Timestamp;
|
|
677
|
+
reference: string | null;
|
|
678
|
+
status: "pending" | "complete" | "void";
|
|
679
|
+
notes: string | null;
|
|
680
|
+
completedAt?: Timestamp | null;
|
|
681
|
+
completedBy?: string | null;
|
|
682
|
+
voidedAt?: Timestamp | null;
|
|
683
|
+
voidedBy?: string | null;
|
|
684
|
+
voidReason?: string | null;
|
|
685
|
+
transactionIds: string[];
|
|
686
|
+
invoiceIds: string[];
|
|
687
|
+
}
|
|
688
|
+
interface DraftInvoice extends InvoiceTotals {
|
|
689
|
+
id: string;
|
|
690
|
+
currency: Currency;
|
|
691
|
+
status: "draft";
|
|
692
|
+
issuedAt?: Timestamp;
|
|
693
|
+
lotIdents: {
|
|
694
|
+
lotId: string;
|
|
695
|
+
saleId: string;
|
|
696
|
+
}[];
|
|
697
|
+
clientType: ClientType;
|
|
698
|
+
customerId: string;
|
|
699
|
+
customerAccountNumber: string;
|
|
700
|
+
name: string;
|
|
701
|
+
address: Address;
|
|
702
|
+
email: string | null;
|
|
703
|
+
superTypes?: SuperType[];
|
|
704
|
+
customerIsVATRegistered: boolean;
|
|
705
|
+
customerWithinTaxRegion: boolean;
|
|
706
|
+
lineItems: InvoiceLineItem[];
|
|
707
|
+
adjustmentLineItems: InvoiceLineItem[];
|
|
708
|
+
vatNumber?: string;
|
|
709
|
+
extraProductIds: string[];
|
|
710
|
+
payoutMethod?: PayoutMethod | null;
|
|
711
|
+
payoutParams?: {
|
|
712
|
+
settleDebtsFirst: boolean;
|
|
713
|
+
accountName?: string;
|
|
714
|
+
accountNumber?: string;
|
|
715
|
+
sortCode?: string;
|
|
716
|
+
chequeMadePayableTo?: string;
|
|
717
|
+
};
|
|
718
|
+
potentialPayoutsById?: {
|
|
719
|
+
[payoutId: string]: {
|
|
720
|
+
id: string;
|
|
721
|
+
amountInCents: number;
|
|
722
|
+
paymentMethod: PaymentMethod;
|
|
723
|
+
invoice?: {
|
|
724
|
+
id: string;
|
|
725
|
+
invoiceNumber: number;
|
|
726
|
+
fullyPaid: boolean;
|
|
727
|
+
};
|
|
728
|
+
};
|
|
729
|
+
};
|
|
730
|
+
attributeValues?: {
|
|
731
|
+
[attributekey: string]: AttributeValueType;
|
|
732
|
+
};
|
|
733
|
+
attributes: AttributeDefinition[];
|
|
734
|
+
averages?: {
|
|
735
|
+
label: string;
|
|
736
|
+
value: number;
|
|
737
|
+
formattedValue: string;
|
|
738
|
+
}[];
|
|
739
|
+
paymentInstructions?: string | null;
|
|
740
|
+
}
|
|
741
|
+
interface InvoiceTotals {
|
|
742
|
+
lotTotalInCentsExVat: number;
|
|
743
|
+
vatOnLotTotalInCents: number;
|
|
744
|
+
commissionTotalInCents?: number;
|
|
745
|
+
vatOnCommissionInCents?: number;
|
|
746
|
+
nonCommissionAdjustmentsInCents?: number;
|
|
747
|
+
vatOnAdjustmentsInCents?: number;
|
|
748
|
+
subtotalGroupTotals: {
|
|
749
|
+
[key in SubtotalGroups]: number;
|
|
750
|
+
};
|
|
751
|
+
taxSubtotalGroupTotals: {
|
|
752
|
+
[key in string]: number;
|
|
753
|
+
};
|
|
754
|
+
finalTotalInCents: number;
|
|
755
|
+
}
|
|
756
|
+
interface SimplePaymentIn {
|
|
757
|
+
paymentId: string;
|
|
758
|
+
amountInCents: number;
|
|
759
|
+
paymentMethod: PaymentMethod;
|
|
760
|
+
reference: string | null;
|
|
761
|
+
paidAt: Timestamp;
|
|
762
|
+
}
|
|
763
|
+
/**
|
|
764
|
+
* Used on invoice to show the payout. Use payout collection for the source of truth
|
|
765
|
+
*/
|
|
766
|
+
interface SimplePaymentOut {
|
|
767
|
+
payoutId: string;
|
|
768
|
+
amountInCents: number;
|
|
769
|
+
paymentMethod: PaymentMethod;
|
|
770
|
+
reference: string | null;
|
|
771
|
+
paidAt: Timestamp;
|
|
772
|
+
}
|
|
773
|
+
interface Invoice extends Omit<Omit<Omit<Omit<DraftInvoice, "ledgerAccountTotals">, "potentialPayoutsById">, "payoutParams">, "status"> {
|
|
774
|
+
id: string;
|
|
775
|
+
invoiceNumber: number;
|
|
776
|
+
createdAt: Timestamp;
|
|
777
|
+
updatedAt: Timestamp;
|
|
778
|
+
updatedBy?: string | null;
|
|
779
|
+
marketId: string;
|
|
780
|
+
saleIds: string[];
|
|
781
|
+
sales: {
|
|
782
|
+
id: string;
|
|
783
|
+
name?: string;
|
|
784
|
+
}[];
|
|
785
|
+
transactionIds?: string[];
|
|
786
|
+
status: "draft" | "issued" | "void" | "imported" | "paid";
|
|
787
|
+
paymentsInById: {
|
|
788
|
+
[paymentId: string]: SimplePaymentIn;
|
|
789
|
+
};
|
|
790
|
+
payoutMethod: PayoutMethod | null;
|
|
791
|
+
payoutsById: {
|
|
792
|
+
[payoutId: string]: SimplePaymentOut;
|
|
793
|
+
};
|
|
794
|
+
voidReason?: string;
|
|
795
|
+
voidedAt?: Timestamp;
|
|
796
|
+
voidedBy?: string;
|
|
797
|
+
description?: string;
|
|
798
|
+
footnotes?: string[];
|
|
799
|
+
metadata: {
|
|
800
|
+
[key: string]: string | number | boolean | Timestamp | Media;
|
|
801
|
+
};
|
|
802
|
+
/***
|
|
803
|
+
* this is important to add when adding an invoice
|
|
804
|
+
* it creates a lock so we only ever get sequential invoice numbers
|
|
805
|
+
* The invoice will have this as null until the next invoice is created
|
|
806
|
+
*/
|
|
807
|
+
internalNextInvoiceId: string | null;
|
|
808
|
+
emailNotifications?: string[];
|
|
809
|
+
pitchPayLink: string | null;
|
|
810
|
+
}
|
|
811
|
+
/**
|
|
812
|
+
* @description Configuration for the printer
|
|
813
|
+
*/
|
|
814
|
+
interface Printer {
|
|
815
|
+
id: string;
|
|
816
|
+
createdAt: Timestamp;
|
|
817
|
+
updatedAt: Timestamp;
|
|
818
|
+
/**
|
|
819
|
+
* @description The name of the printer. Its the same as the id
|
|
820
|
+
*/
|
|
821
|
+
name: string;
|
|
822
|
+
friendlyName: string;
|
|
823
|
+
chequePrinter?: boolean;
|
|
824
|
+
/**
|
|
825
|
+
* The next cheque number to use when printing a cheque
|
|
826
|
+
*/
|
|
827
|
+
nextChequeNumber?: number;
|
|
828
|
+
lastPrintedAt?: Timestamp;
|
|
829
|
+
lastPrinterMessage?: string;
|
|
830
|
+
}
|
|
831
|
+
interface Printer {
|
|
832
|
+
name: string;
|
|
833
|
+
id: string;
|
|
834
|
+
}
|
|
835
|
+
interface InvoiceLineItem {
|
|
836
|
+
id: string;
|
|
837
|
+
createdAt: Timestamp;
|
|
838
|
+
updatedAt: Timestamp;
|
|
839
|
+
subtotalGroup?: SubtotalGroups | null;
|
|
840
|
+
clientType: ClientType;
|
|
841
|
+
description: string;
|
|
842
|
+
index?: number;
|
|
843
|
+
quantity: number;
|
|
844
|
+
impreciseUnitPriceInCents: number;
|
|
845
|
+
unitOfSale?: UnitOfSale;
|
|
846
|
+
unitPriceIncludesVat?: boolean;
|
|
847
|
+
taxRate: TaxRate;
|
|
848
|
+
taxAmountInCents: number;
|
|
849
|
+
discountAmountInCents?: number;
|
|
850
|
+
totalAmountInCentsExVat: number;
|
|
851
|
+
saleId?: string;
|
|
852
|
+
lotId?: string;
|
|
853
|
+
lotProductCode?: string;
|
|
854
|
+
superType?: SuperType | null;
|
|
855
|
+
productId?: string;
|
|
856
|
+
productRelatedTo?: {
|
|
857
|
+
lotId: string;
|
|
858
|
+
saleId: string;
|
|
859
|
+
} | null;
|
|
860
|
+
productObfusicate?: boolean;
|
|
861
|
+
passthroughFundsToCustomerId?: string | null;
|
|
862
|
+
adjustmentConfig?: AdjustmentsConfiguration;
|
|
863
|
+
metadata: {
|
|
864
|
+
[key: string]: string | number | boolean | Timestamp | Media | {
|
|
865
|
+
[key: string]: string | number | boolean | Timestamp;
|
|
866
|
+
};
|
|
867
|
+
};
|
|
868
|
+
}
|
|
869
|
+
interface TablePosition {
|
|
870
|
+
id: InvoiceField | ChequeField | MarketReportHeaders;
|
|
871
|
+
title: string;
|
|
872
|
+
cellWidth: number;
|
|
873
|
+
halign: "left" | "center" | "right";
|
|
874
|
+
}
|
|
264
875
|
type WebhookEventName = "market.updated" | "sale.created" | "sale.updated" | "sale.deleted" | "lot.created" | "lot.updated" | "lot.deleted" | "lot.media.created" | "lot.media.deleted" | "invoice.created" | "invoice.updated" | "invoice.deleted" | "payment.created" | "payment.updated" | "payment.deleted" | "payout.created" | "payout.updated" | "payout.deleted" | "customer.created" | "customer.updated" | "customer.deleted" | "member.created" | "member.updated" | "member.deleted";
|
|
876
|
+
declare const supportedWebhookEvents: readonly ["market.updated", "sale.created", "sale.updated", "sale.deleted", "lot.created", "lot.updated", "lot.deleted", "lot.media.created", "lot.media.deleted", "invoice.created", "invoice.updated", "invoice.deleted", "payment.created", "payment.updated", "payment.deleted", "payout.created", "payout.updated", "payout.deleted", "customer.created", "customer.updated", "customer.deleted", "member.created", "member.updated", "member.deleted"];
|
|
877
|
+
type ObjectType = "market" | "sale" | "lot" | "invoice" | "payment" | "customer" | "member";
|
|
878
|
+
interface WebhookEvent<T> {
|
|
879
|
+
id: string;
|
|
880
|
+
createdAt: Timestamp;
|
|
881
|
+
trigger: WebhookEventName;
|
|
882
|
+
marketId: string;
|
|
883
|
+
objectType: ObjectType;
|
|
884
|
+
data: {
|
|
885
|
+
object: T;
|
|
886
|
+
objectBefore?: T;
|
|
887
|
+
};
|
|
888
|
+
}
|
|
265
889
|
type SupportedAttributeTypes = "string" | "number" | "boolean" | "date" | "datetime" | "time";
|
|
266
890
|
interface AttributeDefinition {
|
|
267
891
|
id: string;
|
|
@@ -294,8 +918,118 @@ interface AttributeDefinition {
|
|
|
294
918
|
maxDateExpression?: string;
|
|
295
919
|
allowedValues?: string[];
|
|
296
920
|
}
|
|
921
|
+
interface StudioAppPartial {
|
|
922
|
+
id: string;
|
|
923
|
+
name: string;
|
|
924
|
+
version: string;
|
|
925
|
+
description: string;
|
|
926
|
+
icon: string;
|
|
927
|
+
parameterConfig: AppParameterConfig[];
|
|
928
|
+
parameterValues: {
|
|
929
|
+
[key: string]: string | number | boolean | string[];
|
|
930
|
+
};
|
|
931
|
+
}
|
|
932
|
+
type AppParameterConfig = {
|
|
933
|
+
id: string;
|
|
934
|
+
type: "string" | "number" | "boolean" | "string[]" | "password";
|
|
935
|
+
label: string;
|
|
936
|
+
description?: string;
|
|
937
|
+
required?: boolean;
|
|
938
|
+
defaultValue?: string | number | boolean | string[];
|
|
939
|
+
};
|
|
297
940
|
|
|
298
|
-
|
|
941
|
+
type types_Accessory = Accessory;
|
|
942
|
+
type types_Address = Address;
|
|
943
|
+
type types_AddressWrapper = AddressWrapper;
|
|
944
|
+
type types_AdjustmentTarget = AdjustmentTarget;
|
|
945
|
+
type types_AdjustmentTotalTarget = AdjustmentTotalTarget;
|
|
946
|
+
type types_AdjustmentsConfiguration = AdjustmentsConfiguration;
|
|
947
|
+
type types_AppParameterConfig = AppParameterConfig;
|
|
948
|
+
type types_AttributeDefinition = AttributeDefinition;
|
|
949
|
+
type types_AttributeValueType = AttributeValueType;
|
|
950
|
+
type types_BankDetails = BankDetails;
|
|
951
|
+
type types_Cart = Cart;
|
|
952
|
+
type types_CartItem = CartItem;
|
|
953
|
+
type types_ChequeField = ChequeField;
|
|
954
|
+
type types_ClientType = ClientType;
|
|
955
|
+
type types_CurrenciesWithGuinea = CurrenciesWithGuinea;
|
|
956
|
+
type types_Currency = Currency;
|
|
957
|
+
type types_Customer = Customer;
|
|
958
|
+
type types_CustomerFromSearch = CustomerFromSearch;
|
|
959
|
+
type types_DeviceType = DeviceType;
|
|
960
|
+
type types_DraftInvoice = DraftInvoice;
|
|
961
|
+
type types_EmailWrapper = EmailWrapper;
|
|
962
|
+
type types_FarmAssurances = FarmAssurances;
|
|
963
|
+
type types_FieldPositions = FieldPositions;
|
|
964
|
+
type types_IncrementLadder = IncrementLadder;
|
|
965
|
+
type types_IncrementLadderItem = IncrementLadderItem;
|
|
966
|
+
type types_Invoice = Invoice;
|
|
967
|
+
type types_InvoiceField = InvoiceField;
|
|
968
|
+
type types_InvoiceLineItem = InvoiceLineItem;
|
|
969
|
+
type types_InvoiceTotalAdjustmentConfiguration = InvoiceTotalAdjustmentConfiguration;
|
|
970
|
+
type types_InvoiceTotals = InvoiceTotals;
|
|
971
|
+
type types_LineItemAdjustmentConfiguration = LineItemAdjustmentConfiguration;
|
|
972
|
+
declare const types_LivestockSuperTypes: typeof LivestockSuperTypes;
|
|
973
|
+
type types_Lot = Lot;
|
|
974
|
+
type types_LotGeneratedValues = LotGeneratedValues;
|
|
975
|
+
type types_LotIssue = LotIssue;
|
|
976
|
+
type types_LotItem = LotItem;
|
|
977
|
+
type types_LotSaleStatus = LotSaleStatus;
|
|
978
|
+
type types_LotWithItemsAsArray = LotWithItemsAsArray;
|
|
979
|
+
type types_Market = Market;
|
|
980
|
+
type types_MarketBankDetails = MarketBankDetails;
|
|
981
|
+
type types_MarketReportHeaders = MarketReportHeaders;
|
|
982
|
+
type types_MartEyeLiveSaleSettings = MartEyeLiveSaleSettings;
|
|
983
|
+
type types_MartEyeTimedSaleSettings = MartEyeTimedSaleSettings;
|
|
984
|
+
type types_Media = Media;
|
|
985
|
+
type types_MemberSharingConfiguration = MemberSharingConfiguration;
|
|
986
|
+
type types_ObjectType = ObjectType;
|
|
987
|
+
type types_Payment = Payment;
|
|
988
|
+
type types_PaymentMethod = PaymentMethod;
|
|
989
|
+
type types_Payout = Payout;
|
|
990
|
+
type types_PayoutMethod = PayoutMethod;
|
|
991
|
+
type types_PhoneNumberWrapper = PhoneNumberWrapper;
|
|
992
|
+
type types_Printer = Printer;
|
|
993
|
+
type types_Product = Product;
|
|
994
|
+
type types_ProductCodeConfiguration = ProductCodeConfiguration;
|
|
995
|
+
type types_ProductConfiguration = ProductConfiguration;
|
|
996
|
+
type types_Sale = Sale;
|
|
997
|
+
type types_SaleFromSearch = SaleFromSearch;
|
|
998
|
+
type types_SettingsAccessories = SettingsAccessories;
|
|
999
|
+
type types_SettingsAdjustmentsConfiguration = SettingsAdjustmentsConfiguration;
|
|
1000
|
+
type types_SettingsGlobalAttributes = SettingsGlobalAttributes;
|
|
1001
|
+
type types_SettingsMarketDefaults = SettingsMarketDefaults;
|
|
1002
|
+
type types_SettingsPrinters = SettingsPrinters;
|
|
1003
|
+
type types_SettingsProductCodes = SettingsProductCodes;
|
|
1004
|
+
type types_SettingsTaxRates = SettingsTaxRates;
|
|
1005
|
+
type types_ShortCustomerDetails = ShortCustomerDetails;
|
|
1006
|
+
type types_SimplePaymentIn = SimplePaymentIn;
|
|
1007
|
+
type types_SimplePaymentOut = SimplePaymentOut;
|
|
1008
|
+
type types_StudioAppPartial = StudioAppPartial;
|
|
1009
|
+
type types_SubtotalGroups = SubtotalGroups;
|
|
1010
|
+
type types_SuperType = SuperType;
|
|
1011
|
+
type types_SupportedAttributeTypes = SupportedAttributeTypes;
|
|
1012
|
+
type types_SupportedCountryCode = SupportedCountryCode;
|
|
1013
|
+
declare const types_SupportedCurrencyCodes: typeof SupportedCurrencyCodes;
|
|
1014
|
+
declare const types_SupportedPaymentMethods: typeof SupportedPaymentMethods;
|
|
1015
|
+
declare const types_SupportedSuperTypes: typeof SupportedSuperTypes;
|
|
1016
|
+
declare const types_SupportedUnitsOfSale: typeof SupportedUnitsOfSale;
|
|
1017
|
+
type types_TablePosition = TablePosition;
|
|
1018
|
+
type types_TaxRate = TaxRate;
|
|
1019
|
+
type types_UnitOfSale = UnitOfSale;
|
|
1020
|
+
type types_WebhookEvent<T> = WebhookEvent<T>;
|
|
1021
|
+
type types_WebhookEventName = WebhookEventName;
|
|
1022
|
+
declare const types_supportedWebhookEvents: typeof supportedWebhookEvents;
|
|
1023
|
+
declare namespace types {
|
|
1024
|
+
export { type types_Accessory as Accessory, type types_Address as Address, type types_AddressWrapper as AddressWrapper, type types_AdjustmentTarget as AdjustmentTarget, type types_AdjustmentTotalTarget as AdjustmentTotalTarget, type types_AdjustmentsConfiguration as AdjustmentsConfiguration, type types_AppParameterConfig as AppParameterConfig, type types_AttributeDefinition as AttributeDefinition, type types_AttributeValueType as AttributeValueType, type types_BankDetails as BankDetails, type types_Cart as Cart, type types_CartItem as CartItem, type types_ChequeField as ChequeField, type types_ClientType as ClientType, type types_CurrenciesWithGuinea as CurrenciesWithGuinea, type types_Currency as Currency, type types_Customer as Customer, type types_CustomerFromSearch as CustomerFromSearch, type types_DeviceType as DeviceType, type types_DraftInvoice as DraftInvoice, type types_EmailWrapper as EmailWrapper, type types_FarmAssurances as FarmAssurances, type types_FieldPositions as FieldPositions, type types_IncrementLadder as IncrementLadder, type types_IncrementLadderItem as IncrementLadderItem, type types_Invoice as Invoice, type types_InvoiceField as InvoiceField, type types_InvoiceLineItem as InvoiceLineItem, type types_InvoiceTotalAdjustmentConfiguration as InvoiceTotalAdjustmentConfiguration, type types_InvoiceTotals as InvoiceTotals, type types_LineItemAdjustmentConfiguration as LineItemAdjustmentConfiguration, types_LivestockSuperTypes as LivestockSuperTypes, type types_Lot as Lot, type types_LotGeneratedValues as LotGeneratedValues, type types_LotIssue as LotIssue, type types_LotItem as LotItem, type types_LotSaleStatus as LotSaleStatus, type types_LotWithItemsAsArray as LotWithItemsAsArray, type types_Market as Market, type types_MarketBankDetails as MarketBankDetails, type types_MarketReportHeaders as MarketReportHeaders, type types_MartEyeLiveSaleSettings as MartEyeLiveSaleSettings, type types_MartEyeTimedSaleSettings as MartEyeTimedSaleSettings, type types_Media as Media, type types_MemberSharingConfiguration as MemberSharingConfiguration, type types_ObjectType as ObjectType, type types_Payment as Payment, type types_PaymentMethod as PaymentMethod, type types_Payout as Payout, type types_PayoutMethod as PayoutMethod, type types_PhoneNumberWrapper as PhoneNumberWrapper, type types_Printer as Printer, type types_Product as Product, type types_ProductCodeConfiguration as ProductCodeConfiguration, type types_ProductConfiguration as ProductConfiguration, type types_Sale as Sale, type types_SaleFromSearch as SaleFromSearch, type types_SettingsAccessories as SettingsAccessories, type types_SettingsAdjustmentsConfiguration as SettingsAdjustmentsConfiguration, type types_SettingsGlobalAttributes as SettingsGlobalAttributes, type types_SettingsMarketDefaults as SettingsMarketDefaults, type types_SettingsPrinters as SettingsPrinters, type types_SettingsProductCodes as SettingsProductCodes, type types_SettingsTaxRates as SettingsTaxRates, type types_ShortCustomerDetails as ShortCustomerDetails, type types_SimplePaymentIn as SimplePaymentIn, type types_SimplePaymentOut as SimplePaymentOut, type types_StudioAppPartial as StudioAppPartial, type types_SubtotalGroups as SubtotalGroups, type types_SuperType as SuperType, type types_SupportedAttributeTypes as SupportedAttributeTypes, type types_SupportedCountryCode as SupportedCountryCode, types_SupportedCurrencyCodes as SupportedCurrencyCodes, types_SupportedPaymentMethods as SupportedPaymentMethods, types_SupportedSuperTypes as SupportedSuperTypes, types_SupportedUnitsOfSale as SupportedUnitsOfSale, type types_TablePosition as TablePosition, type types_TaxRate as TaxRate, type types_UnitOfSale as UnitOfSale, type types_WebhookEvent as WebhookEvent, type types_WebhookEventName as WebhookEventName, types_supportedWebhookEvents as supportedWebhookEvents };
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
declare function Studio(info: {
|
|
1028
|
+
apiKey?: string;
|
|
1029
|
+
baseUrl?: string;
|
|
1030
|
+
defaultTimeout?: number;
|
|
1031
|
+
debug?: boolean;
|
|
1032
|
+
}): {
|
|
299
1033
|
isDebugMode: boolean;
|
|
300
1034
|
markets: {
|
|
301
1035
|
get: (marketId: string) => Promise<Market>;
|
|
@@ -403,7 +1137,7 @@ declare function Studio(apiKey: string, baseUrl?: string, defaultTimeout?: numbe
|
|
|
403
1137
|
delete: (marketId: string, saleId: string, lotId: string, itemId: string) => Promise<unknown>;
|
|
404
1138
|
};
|
|
405
1139
|
webhooks: {
|
|
406
|
-
constructEvent: (bodyAsBuffer: Buffer, signature: string, endpointSecret: string) => Promise<
|
|
1140
|
+
constructEvent: <T extends unknown>(bodyAsBuffer: Buffer, signature: string | null | undefined, endpointSecret: string | null | undefined) => Promise<WebhookEvent<T>>;
|
|
407
1141
|
};
|
|
408
1142
|
actions: {
|
|
409
1143
|
constructAction: (bodyAsBuffer: Buffer, signature: string, endpointSecret: string) => Promise<any>;
|
|
@@ -474,4 +1208,4 @@ declare function createAppManifest(appConfig: {
|
|
|
474
1208
|
readonly manifest: StudioManifest;
|
|
475
1209
|
};
|
|
476
1210
|
|
|
477
|
-
export { Studio, StudioHeaders, type StudioManifest, createAppManifest, Studio as default };
|
|
1211
|
+
export { Studio, StudioHeaders, type StudioManifest, types as StudioTypes, createAppManifest, Studio as default };
|