import type { Address } from './Address'; import type { CreationEntityState } from './CreationEntityState'; /** * A subscriber represents everyone who is subscribed to a product. * @export * @interface Subscriber */ export interface Subscriber { /** * The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed. * @type {Date} * @memberof Subscriber */ readonly plannedPurgeDate?: Date; /** * The description used to identify the subscriber. * @type {string} * @memberof Subscriber */ readonly description?: string; /** * A client-generated nonce which uniquely identifies some action to be executed. Subsequent requests with the same external ID do not execute the action again, but return the original result. * @type {string} * @memberof Subscriber */ readonly externalId?: string; /** * The language that is used when communicating with the subscriber via emails and documents. * @type {string} * @memberof Subscriber */ readonly language?: string; /** * The version is used for optimistic locking and incremented whenever the object is updated. * @type {number} * @memberof Subscriber */ readonly version?: number; /** * The merchant's reference used to identify the subscriber. * @type {string} * @memberof Subscriber */ readonly reference?: string; /** * Allow the subscriber to use these payment methods even if subscription products do not accept them. * @type {Array} * @memberof Subscriber */ readonly additionalAllowedPaymentMethodConfigurations?: Array; /** * The ID of the space this object belongs to. * @type {number} * @memberof Subscriber */ readonly linkedSpaceId?: number; /** * Allow to store additional information about the object. * @type {{ [key: string]: string; }} * @memberof Subscriber */ readonly metaData?: { [key: string]: string; }; /** * The email address that is used to communicate with the subscriber. There can be only one subscriber per space with the same email address. * @type {string} * @memberof Subscriber */ readonly emailAddress?: string; /** * Prevent the subscriber from using these payment methods even if subscription products do accept them. * @type {Array} * @memberof Subscriber */ readonly disallowedPaymentMethodConfigurations?: Array; /** * * @type {Address} * @memberof Subscriber */ shippingAddress?: Address; /** * * @type {Address} * @memberof Subscriber */ billingAddress?: Address; /** * A unique identifier for the object. * @type {number} * @memberof Subscriber */ readonly id?: number; /** * * @type {CreationEntityState} * @memberof Subscriber */ state?: CreationEntityState; } /** * Check if a given object implements the Subscriber interface. */ export declare function instanceOfSubscriber(value: object): value is Subscriber; export declare function SubscriberFromJSON(json: any): Subscriber; export declare function SubscriberFromJSONTyped(json: any, ignoreDiscriminator: boolean): Subscriber; export declare function SubscriberToJSON(json: any): Subscriber; export declare function SubscriberToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any;