import { ReceiptShareOptions } from '../crypto/entities/ReceiptShareOptions.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { Receipt } from '../model/Receipt.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { ArrayWithUniqueKeys } from '../utils/ArrayWithUniqueKeys.mjs'; export interface ReceiptFlavouredInGroupApi { /** * * In-group version of [ReceiptFlavouredApi.shareWith] */ shareWith(delegate: EntityReferenceInGroup, receipt: GroupScoped, options?: { options?: ReceiptShareOptions | undefined; }): Promise>; /** * * In-group version of [ReceiptFlavouredApi.shareWithMany] */ shareWithMany(receipt: GroupScoped, delegates: ArrayWithUniqueKeys<{ delegate: EntityReferenceInGroup; shareOptions: ReceiptShareOptions; }, 'delegate'>): Promise>; /** * * In-group version of [ReceiptApi.createReceipt] */ createReceipt(entity: GroupScoped): Promise>; /** * * In-group version of [ReceiptApi.createReceipts] */ createReceipts(entities: Array>): Promise>>; /** * * In-group version of [ReceiptBasicFlavouredApi.undeleteReceiptById] */ undeleteReceiptById(entityId: GroupScoped): Promise>; /** * * In-group version of [ReceiptBasicFlavouredApi.undeleteReceiptsByIds] */ undeleteReceiptsByIds(entityIds: Array>): Promise>>; /** * * In-group version of [ReceiptBasicFlavouredApi.undeleteReceipt] */ undeleteReceipt(receipt: GroupScoped): Promise>; /** * * In-group version of [ReceiptBasicFlavouredApi.undeleteReceipts] */ undeleteReceipts(receipts: Array>): Promise>>; /** * * In-group version of [ReceiptBasicFlavouredApi.modifyReceipt] */ modifyReceipt(entity: GroupScoped): Promise>; /** * * In-group version of [ReceiptBasicFlavouredApi.modifyReceipts] */ modifyReceipts(entities: Array>): Promise>>; /** * * In-group version of [ReceiptBasicFlavouredApi.getReceipt] */ getReceipt(groupId: string, entityId: string): Promise | undefined>; /** * * In-group version of [ReceiptBasicFlavouredApi.getReceipts] */ getReceipts(groupId: string, entityIds: Array): Promise>>; /** * * In-group version of [ReceiptBasicFlavouredApi.listReceiptsBetweenDates] */ listReceiptsBetweenDates(groupId: string, options?: { startDate?: number | undefined; endDate?: number | undefined; descending?: boolean; }): Promise>>; }