import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core';
import type { Components } from '@paycargo/js';
import type { CloseEvent as IPaycargoBatchDisputeWidgetCloseEvent } from '@paycargo/js';
import type { BatchApproveData as IPaycargoBatchDisputeWidgetBatchApproveData } from '@paycargo/js';
import type { CreateTransactionResponse as IPaycargoBatchDisputeWidgetCreateTransactionResponse } from '@paycargo/js';
import type { GetBusinessRulesI as IPaycargoBatchDisputeWidgetGetBusinessRulesI } from '@paycargo/js';
import type { CloseEvent as IPaycargoCheckoutCloseEvent } from '@paycargo/js';
import type { BatchData as IPaycargoCheckoutBatchData } from '@paycargo/js';
import type { BatchApprovalResponse as IPaycargoCheckoutBatchApprovalResponse } from '@paycargo/js';
import type { BatchApproveData as IPaycargoCheckoutBatchApproveData } from '@paycargo/js';
import type { TransactionI as IPaycargoOsraWidgetTransactionI } from '@paycargo/js';
import type { CloseEvent as IPaycargoOsraWidgetCloseEvent } from '@paycargo/js';
import type { BatchResult as IPaycargoOsraWidgetBatchResult } from '@paycargo/js';
import * as i0 from "@angular/core";
export declare class PaycargoBatchDisputeWidget {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<PaycargoBatchDisputeWidget, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaycargoBatchDisputeWidget, "paycargo-batch-dispute-widget", never, { "authToken": { "alias": "authToken"; "required": false; }; "businessRules": { "alias": "businessRules"; "required": false; }; "env": { "alias": "env"; "required": false; }; "pcTransactions": { "alias": "pcTransactions"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, {}, never, ["*"], true, never>;
}
export declare interface PaycargoBatchDisputeWidget extends Components.PaycargoBatchDisputeWidget {
    /**
     * Event that is triggered after dispute response
  has been received.
     */
    disputeResponseModal: EventEmitter<CustomEvent<IPaycargoBatchDisputeWidgetCloseEvent<{
        createdTransactions: IPaycargoBatchDisputeWidgetBatchApproveData[];
        failedTransactions: IPaycargoBatchDisputeWidgetCreateTransactionResponse[];
        businessRules: IPaycargoBatchDisputeWidgetGetBusinessRulesI;
    }>>>;
}
export declare class PaycargoCheckout {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<PaycargoCheckout, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaycargoCheckout, "paycargo-checkout", never, { "onPcClose": { "alias": "onPcClose"; "required": false; }; "onPcDispute": { "alias": "onPcDispute"; "required": false; }; "onPcPayment": { "alias": "onPcPayment"; "required": false; }; "options": { "alias": "options"; "required": false; }; "pcTransactions": { "alias": "pcTransactions"; "required": false; }; }, {}, never, ["*"], true, never>;
}
export declare interface PaycargoCheckout extends Components.PaycargoCheckout {
    /**
     * Event called when modal is closed.
     */
    close: EventEmitter<CustomEvent<IPaycargoCheckoutCloseEvent<IPaycargoCheckoutBatchData>>>;
    /**
     * Event that is triggered after payment response
  has been received.
     */
    paymentResponse: EventEmitter<CustomEvent<IPaycargoCheckoutBatchApprovalResponse>>;
    /**
     * Event that is triggered after dispute response
  has been received.
     */
    disputeResponse: EventEmitter<CustomEvent<IPaycargoCheckoutBatchApproveData>>;
}
export declare class PaycargoOsraWidget {
    protected z: NgZone;
    protected el: HTMLElement;
    constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
    static ɵfac: i0.ɵɵFactoryDeclaration<PaycargoOsraWidget, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaycargoOsraWidget, "paycargo-osra-widget", never, { "businessRules": { "alias": "businessRules"; "required": false; }; "hideButton": { "alias": "hideButton"; "required": false; }; "loadMultiWidget": { "alias": "loadMultiWidget"; "required": false; }; "pcTransaction": { "alias": "pcTransaction"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, {}, never, ["*"], true, never>;
}
export declare interface PaycargoOsraWidget extends Components.PaycargoOsraWidget {
    /**
     * Event Triggered when All OSRA transactions
  have been reviewed by user.
     */
    osraReviewed: EventEmitter<CustomEvent<{
        message: string;
        data: IPaycargoOsraWidgetTransactionI[];
    }>>;
    /**
     * Close of the Osra Component
     */
    pcOsraWidgetClose: EventEmitter<CustomEvent<IPaycargoOsraWidgetCloseEvent<IPaycargoOsraWidgetBatchResult>>>;
}
