import type { SubscriptionChargeProcessingType } from './SubscriptionChargeProcessingType';
/**
 * The subscription charge represents a single charge carried out for a particular subscription.
 * @export
 * @interface SubscriptionChargeCreate
 */
export interface SubscriptionChargeCreate {
    /**
     * The merchant's reference used to identify the charge.
     * @type {string}
     * @memberof SubscriptionChargeCreate
     */
    reference?: string;
    /**
     * The date and time when the execution of the charge is planned.
     * @type {Date}
     * @memberof SubscriptionChargeCreate
     */
    plannedExecutionDate?: Date;
    /**
     *
     * @type {SubscriptionChargeProcessingType}
     * @memberof SubscriptionChargeCreate
     */
    processingType: SubscriptionChargeProcessingType;
    /**
     * 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 SubscriptionChargeCreate
     */
    externalId: string;
    /**
     * The URL to redirect the customer back to after they successfully authenticated their payment.
     * @type {string}
     * @memberof SubscriptionChargeCreate
     */
    successUrl?: string;
    /**
     * The subscription that the charge belongs to.
     * @type {number}
     * @memberof SubscriptionChargeCreate
     */
    subscription: number;
    /**
     * The URL to redirect the customer back to after they canceled or failed to authenticated their payment.
     * @type {string}
     * @memberof SubscriptionChargeCreate
     */
    failedUrl?: string;
}
/**
 * Check if a given object implements the SubscriptionChargeCreate interface.
 */
export declare function instanceOfSubscriptionChargeCreate(value: object): value is SubscriptionChargeCreate;
export declare function SubscriptionChargeCreateFromJSON(json: any): SubscriptionChargeCreate;
export declare function SubscriptionChargeCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubscriptionChargeCreate;
export declare function SubscriptionChargeCreateToJSON(json: any): SubscriptionChargeCreate;
export declare function SubscriptionChargeCreateToJSONTyped(value?: SubscriptionChargeCreate | null, ignoreDiscriminator?: boolean): any;
