import { GetReceiptsSettingsRequest as GetReceiptsSettingsRequest$1, GetReceiptsSettingsResponse as GetReceiptsSettingsResponse$1, UpdateReceiptsSettingsRequest as UpdateReceiptsSettingsRequest$1, UpdateReceiptsSettingsResponse as UpdateReceiptsSettingsResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; interface ReceiptsSettings { /** * Revision number, which increments by 1 each time the receipt settings are updated. To prevent conflicting changes, the current revision must be passed when updating the receipt settings. * @readonly */ revision?: string | null; /** * Date and time the receipt settings were created. * @readonly * @immutable */ createdDate?: Date | null; /** * Date and time the receipt settings were last updated. * @readonly */ updatedDate?: Date | null; /** Receipt numbering settings. */ numbering?: Numbering; /** * Custom field data for the receipt settings. * * Extended fields must be configured in the app dashboard before they can be accessed with API calls. */ extendedFields?: ExtendedFields; } interface Numbering { /** * Receipt prefix that will be displayed before the receipt number. * @minLength 1 * @maxLength 10 */ prefix?: string | null; /** * Next receipt number. Used during receipt creation to ensure unique and consecutive numbering. * @min 1 * @max 1000000000 */ nextNumber?: number | null; /** * Receipt suffix that will be displayed after the receipt number. * @minLength 1 * @maxLength 10 */ suffix?: string | null; } interface ExtendedFields { /** * Extended field data. Each key corresponds to the namespace of the app that created the extended fields. * The value of each key is structured according to the schema defined when the extended fields were configured. * * You can only access fields for which you have the appropriate permissions. * * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields). */ namespaces?: Record>; } interface GetReceiptsSettingsRequest { } interface GetReceiptsSettingsResponse { /** Receipts settings. */ receiptsSettings?: ReceiptsSettings; } interface UpdateReceiptsSettingsRequest { /** Receipt settings to update. Partial update is supported, but if no receipt settings entity exists, the full entity must be specified. */ receiptsSettings: ReceiptsSettings; /** * Set of fields to update. * Fields that aren't included in `fieldMask.paths` are ignored. * @internal */ fieldMask?: string[]; } interface UpdateReceiptsSettingsResponse { /** Updated receipt settings. */ receiptsSettings?: ReceiptsSettings; } interface NextNumberDescendingErrorDetails { /** Next available number for prefix. */ nextAvailableNumber?: number | null; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** * Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity * @internal */ triggeredByUndelete?: boolean | null; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; /** * Optional domain-specific metadata defined by the API owner, encoded as JSON. * @internal */ additionalMetadataAsJson?: string | null; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; /** * This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard * wont populate it / have any reference to it in the API. * The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed, * the developer should send only the new (current) entity. * An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big * Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message. * @internal * @deprecated */ previousEntityAsJson?: string | null; /** * Map of fully qualified field paths to their previous values for fields that changed. * For more details please see [AIP](https://dev.wix.com/docs/rnd-general/articles/p13n-guidelines-aips/guidance-aips/design-patterns/7016-events#modified-fields-format) * @internal */ modifiedFields?: Record; /** * Optional domain-specific metadata defined by the API owner, encoded as JSON. * @internal */ additionalMetadataAsJson?: string | null; } interface EntityDeletedEvent { /** * Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled * @internal */ movedToTrash?: boolean | null; /** Entity that was deleted. */ deletedEntityAsJson?: string | null; /** * Optional domain-specific metadata defined by the API owner, encoded as JSON. * @internal */ additionalMetadataAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } /** @docsIgnore */ type GetReceiptsSettingsApplicationErrors = { code?: 'NO_META_SITE'; description?: string; data?: Record; }; /** @docsIgnore */ type UpdateReceiptsSettingsApplicationErrors = { code?: 'NO_META_SITE'; description?: string; data?: Record; } | { code?: 'NEXT_NUMBER_MISSING'; description?: string; data?: Record; } | { code?: 'PREFIX_CONTAINS_ILLEGAL_CHARACTERS'; description?: string; data?: Record; } | { code?: 'SUFFIX_CONTAINS_ILLEGAL_CHARACTERS'; description?: string; data?: Record; } | { code?: 'NEXT_NUMBER_DESCENDING'; description?: string; data?: NextNumberDescendingErrorDetails; }; type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function getReceiptsSettings(): __PublicMethodMetaInfo<'GET', {}, GetReceiptsSettingsRequest$1, GetReceiptsSettingsRequest, GetReceiptsSettingsResponse$1, GetReceiptsSettingsResponse>; declare function updateReceiptsSettings(): __PublicMethodMetaInfo<'PATCH', {}, UpdateReceiptsSettingsRequest$1, UpdateReceiptsSettingsRequest, UpdateReceiptsSettingsResponse$1, UpdateReceiptsSettingsResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type ExtendedFields as ExtendedFieldsOriginal, type GetReceiptsSettingsApplicationErrors as GetReceiptsSettingsApplicationErrorsOriginal, type GetReceiptsSettingsRequest as GetReceiptsSettingsRequestOriginal, type GetReceiptsSettingsResponse as GetReceiptsSettingsResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type NextNumberDescendingErrorDetails as NextNumberDescendingErrorDetailsOriginal, type Numbering as NumberingOriginal, type ReceiptsSettings as ReceiptsSettingsOriginal, type RestoreInfo as RestoreInfoOriginal, type UpdateReceiptsSettingsApplicationErrors as UpdateReceiptsSettingsApplicationErrorsOriginal, type UpdateReceiptsSettingsRequest as UpdateReceiptsSettingsRequestOriginal, type UpdateReceiptsSettingsResponse as UpdateReceiptsSettingsResponseOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, getReceiptsSettings, updateReceiptsSettings };