import { Subscription } from "./Subscription";
import { SubscriptionChargeProcessingType } from "./SubscriptionChargeProcessingType";
import { SubscriptionChargeState } from "./SubscriptionChargeState";
import { SubscriptionChargeType } from "./SubscriptionChargeType";
import { SubscriptionLedgerEntry } from "./SubscriptionLedgerEntry";
import { Transaction } from "./Transaction";
declare class SubscriptionCharge {
    /**
    * The date and time when the charge was created.
    */
    'createdOn'?: Date;
    /**
    * The ID of the user the charge was discarded by.
    */
    'discardedBy'?: number;
    /**
    * The date and time when the charge was discarded.
    */
    'discardedOn'?: Date;
    /**
    * A client generated nonce which identifies the entity to be created. Subsequent creation requests with the same external ID will not create new entities but return the initially created entity instead.
    */
    'externalId'?: string;
    /**
    * The date and time when the charge failed.
    */
    'failedOn'?: Date;
    /**
    * The URL to redirect the customer back to after they canceled or failed to authenticated their payment.
    */
    'failedUrl'?: string;
    /**
    * A unique identifier for the object.
    */
    'id'?: number;
    /**
    * The language that is linked to the object.
    */
    'language'?: string;
    /**
    * The ledger entries that belong to the charge.
    */
    'ledgerEntries'?: Array<SubscriptionLedgerEntry>;
    /**
    * The ID of the space this object belongs to.
    */
    'linkedSpaceId'?: number;
    /**
    * The date and time when the execution of the charge is planned.
    */
    'plannedExecutionDate'?: Date;
    /**
    * The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed.
    */
    'plannedPurgeDate'?: Date;
    /**
    * The processing type specifies how the charge is to be processed.
    */
    'processingType'?: SubscriptionChargeProcessingType;
    /**
    * The merchant's reference used to identify the charge.
    */
    'reference'?: string;
    /**
    * The object's current state.
    */
    'state'?: SubscriptionChargeState;
    /**
    * The subscription that the charge belongs to.
    */
    'subscription'?: Subscription;
    /**
    * The date and time when the charge succeeded.
    */
    'succeedOn'?: Date;
    /**
    * The URL to redirect the customer back to after they successfully authenticated their payment.
    */
    'successUrl'?: string;
    /**
    * The transaction used to process the charge.
    */
    'transaction'?: Transaction;
    /**
    * The type specified how the charge was initiated.
    */
    'type'?: SubscriptionChargeType;
    /**
    * The version is used for optimistic locking and incremented whenever the object is updated.
    */
    'version'?: number;
    static discriminator: string | undefined;
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
}
export { SubscriptionCharge };
