import type { ProductFeeType } from './ProductFeeType'; import type { SubscriptionLedgerEntryState } from './SubscriptionLedgerEntryState'; import type { Tax } from './Tax'; /** * The subscription ledger entry represents a single change on the subscription balance. * @export * @interface SubscriptionLedgerEntry */ export interface SubscriptionLedgerEntry { /** * The number of items that were consumed. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly quantity?: number; /** * The leger entry's amount with discounts applied, excluding taxes. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly amountExcludingTax?: number; /** * 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 SubscriptionLedgerEntry */ readonly plannedPurgeDate?: Date; /** * The subscription version that the ledger entry belongs to. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly subscriptionVersion?: number; /** * 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 SubscriptionLedgerEntry */ readonly externalId?: string; /** * A set of tax lines, each of which specifies a tax applied to the ledger entry. * @type {Set} * @memberof SubscriptionLedgerEntry */ readonly taxes?: Set; /** * * @type {ProductFeeType} * @memberof SubscriptionLedgerEntry */ feeType?: ProductFeeType; /** * The title that indicates what the ledger entry is about. * @type {string} * @memberof SubscriptionLedgerEntry */ readonly title?: string; /** * The date and time when the object was created. * @type {Date} * @memberof SubscriptionLedgerEntry */ readonly createdOn?: Date; /** * The version is used for optimistic locking and incremented whenever the object is updated. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly version?: number; /** * * @type {string} * @memberof SubscriptionLedgerEntry */ readonly componentReferenceName?: string; /** * * @type {number} * @memberof SubscriptionLedgerEntry */ readonly subscriptionMetricId?: number; /** * The ID of the space this object belongs to. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly linkedSpaceId?: number; /** * * @type {boolean} * @memberof SubscriptionLedgerEntry */ readonly proRataCalculated?: boolean; /** * The ID of the user the ledger entry was created by. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly createdBy?: number; /** * * @type {string} * @memberof SubscriptionLedgerEntry */ readonly componentReferenceSku?: string; /** * A unique identifier for the object. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly id?: number; /** * * @type {SubscriptionLedgerEntryState} * @memberof SubscriptionLedgerEntry */ state?: SubscriptionLedgerEntryState; /** * The leger entry's amount with discounts applied, including taxes. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly amountIncludingTax?: number; /** * The discount allocated to the ledger entry, including taxes. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly discountIncludingTax?: number; /** * The sum of all taxes applied to the ledger entry. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly taxAmount?: number; /** * The total tax rate applied to the ledger entry, calculated from the rates of all tax lines. * @type {number} * @memberof SubscriptionLedgerEntry */ readonly aggregatedTaxRate?: number; } /** * Check if a given object implements the SubscriptionLedgerEntry interface. */ export declare function instanceOfSubscriptionLedgerEntry(value: object): value is SubscriptionLedgerEntry; export declare function SubscriptionLedgerEntryFromJSON(json: any): SubscriptionLedgerEntry; export declare function SubscriptionLedgerEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionLedgerEntry; export declare function SubscriptionLedgerEntryToJSON(json: any): SubscriptionLedgerEntry; export declare function SubscriptionLedgerEntryToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any;