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