import type { PaymentAppVoidTargetState } from './PaymentAppVoidTargetState';
/**
 * A request to update the state of a void. The void must be associated with a processor created by the invoking payment web app.
 * @export
 * @interface PaymentAppVoidUpdate
 */
export interface PaymentAppVoidUpdate {
    /**
     * A unique identifier for the void within the systems of the external service provider. This field is mandatory when the target state is set to 'SUCCESSFUL'.
     * @type {string}
     * @memberof PaymentAppVoidUpdate
     */
    reference?: string;
    /**
     *
     * @type {PaymentAppVoidTargetState}
     * @memberof PaymentAppVoidUpdate
     */
    targetState?: PaymentAppVoidTargetState;
    /**
     * The reason for the void's failure. This field is mandatory when the target state is set to 'FAILED'.
     * @type {number}
     * @memberof PaymentAppVoidUpdate
     */
    failureReason?: number;
}
/**
 * Check if a given object implements the PaymentAppVoidUpdate interface.
 */
export declare function instanceOfPaymentAppVoidUpdate(value: object): value is PaymentAppVoidUpdate;
export declare function PaymentAppVoidUpdateFromJSON(json: any): PaymentAppVoidUpdate;
export declare function PaymentAppVoidUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentAppVoidUpdate;
export declare function PaymentAppVoidUpdateToJSON(json: any): PaymentAppVoidUpdate;
export declare function PaymentAppVoidUpdateToJSONTyped(value?: PaymentAppVoidUpdate | null, ignoreDiscriminator?: boolean): any;
