import { PaymentVendorFactoryEnum } from "../../../enums/paymentVendorFactoryEnum";
export interface PaymentDetails {
    accountNumber?: string;
    firstName?: string;
    lastName?: string;
    company?: string;
    amount?: string | number | null | undefined;
    salesTax?: number;
    custId?: number | string;
    street1?: string;
    street2?: string;
    city?: string | number;
    state?: string;
    zip?: number;
    email?: string;
    phone?: string;
    description?: string;
    reference1?: string | number;
    reference2?: string | number;
    reference3?: string | number;
}
export interface PaymentMethodData {
    businessObjectKey: string;
    appPaymentVendorID: string;
    applicationClientID: string;
    paymentVendorConnectionID: string;
    merchantIdentifier: string;
    effectiveStart: Date;
    effectiveEnd: Date;
    isDefault: boolean;
    createDate: Date;
    serializeFields: null;
    applicationClient: null;
    paymentVendorConnection: PaymentVendorConnection;
    paymentToken: any[];
    paymentTransaction: any[];
    udpTags: any[];
}
export interface HostedPaymentPageSetup {
    businessObjectKey: string;
    hostedPaymentPageSetupID: string;
    paymentVendorConnectionID: string;
    useHostedPaymentPage: boolean;
    hostedPaymentPageConfig: string;
    customCSS: string;
    serializeFields: null;
    paymentVendorConnection: null;
    udpTags: any[];
}
export interface IPaymentMethod {
    businessObjectKey: string;
    paymentMethodID: number;
    name: string;
    active: string;
    serializeFields: null;
    paymentMethodPaymentTransaction: any[];
    udpTags: any[];
    systemRule: any[];
    paymentMethodSystemRule: any[];
    appPaymentVendorID: string;
    applicationClientID: string;
    paymentVendorConnectionID: string;
    merchantIdentifier: string;
    effectiveStart: string;
    effectiveEnd: null;
    isDefault: boolean;
    createDate: string;
    applicationClient: null;
    paymentVendorConnection?: PaymentVendorConnection;
    appPaymentVendorPaymentTransaction: any[];
}
export interface HostedPaymentPageSetup {
    businessObjectKey: string;
    hostedPaymentPageSetupID: string;
    paymentVendorConnectionID: string;
    useHostedPaymentPage: boolean;
    hostedPaymentPageConfig: string;
    customCSS: string;
    serializeFields: null;
    paymentVendorConnection: null;
    udpTags: any[];
}
export interface PaymentVendorConnection {
    productionConnectionAttributes: null;
    sandboxConnectionAttributes: null;
    businessObjectKey: string;
    paymentVendorConnectionID: string;
    paymentVendorFactoryID: number;
    name: string;
    prodSecretConnection: null;
    sandboxSecretConnection: null;
    isLiveMode: boolean;
    createDate: Date | string;
    serializeFields: null;
    appPaymentVendor: any[];
    hostedPaymentPageSetup: HostedPaymentPageSetup[];
    paymentVendorFactory: null;
    paymentVendorConnectionPaymentMethod: any[];
    udpTags: any[];
}
export interface IPaymentMethodTab {
    paymentMethodID: number;
    name: string;
    enabled: boolean;
    data: IPaymentMethod | null;
    providerType: PaymentVendorFactoryEnum | null;
    isHostedPaymentPage: boolean | null;
    providerProps: {
        customCss: string | null;
        attributes: string | null;
    } | null;
    paymentVendorConnection?: PaymentVendorConnection;
    hasReadPropertiesError?: boolean | null;
    readPropertiesMessageError?: string | null;
}
export interface PaymentTransaction {
    businessObjectKey: string;
    accountTransactionID: number;
    accountID: number;
    authorizationNumber: string;
    transactionId: string;
    transactionDate: Date;
    paymentTenderTypeID: number;
    paymentTenderTypeName: string;
    paymentSourceID: number;
    paymentSourceName: string;
    transactionTypeID: number;
    transactionTypeName: string;
    description: string;
    cardLast4: string;
    cardTypeName: null;
    amount: number;
    balance: number;
    ipAddress: string;
    date: string;
    confirmationNumber: string;
    tender: string;
    source: string;
    amount_: string;
    balance_: string;
    serializeFields: null;
    searchRank: number;
}
//# sourceMappingURL=AccountPayment.model.d.ts.map