import { MTableQueries } from "../../common-types/common";
import { FeePayment } from "../../schema";
import { controllerResponse } from "../../utilities";
type IFeePaymentErrorLogger = {
    [key in keyof MFeePayment]: string;
};
type IFeePaymentGetByIdErrorLogger = {
    [key in keyof MFeePaymentGetByIdPayload]: string;
};
type IFeePaymentDeleteErrorLogger = {
    [key in keyof MFeePaymentDeletePayload]: string;
};
type IFeePaymentInsertUpdateErrorLogger = {
    [key in keyof MFeePaymentInsertUpdatePayload]: string;
};
type IFeePaymentApproveErrorLogger = {
    [key in keyof MFeePaymentApprovePayload]: string;
};
type IFeePaymentReconcileErrorLogger = {
    [key in keyof MFeePaymentReconcilePayload]: string;
};
declare class MFeePayment extends MTableQueries {
    constructor(init: MFeePayment);
    Validate?(): Partial<IFeePaymentErrorLogger>;
}
declare class MFeePaymentGetByIdPayload {
    feepay_id?: string;
    constructor(init: MFeePaymentGetByIdPayload);
    Validate?(): Partial<IFeePaymentGetByIdErrorLogger>;
}
declare class MFeePaymentDeletePayload {
    feepay_id?: string;
    constructor(init: MFeePaymentDeletePayload);
    Validate?(): Partial<IFeePaymentDeleteErrorLogger>;
}
declare class MFeePaymentInsertUpdatePayload extends FeePayment {
    constructor(init: FeePayment);
    Validate?(): Partial<IFeePaymentInsertUpdateErrorLogger>;
}
declare class MFeePaymentApprovePayload {
    feepay_id?: string;
    constructor(init: MFeePaymentApprovePayload);
    Validate?(): Partial<IFeePaymentApproveErrorLogger>;
}
declare class MFeePaymentReconcilePayload {
    feepay_id?: string;
    feepay_reconciled_date?: Date;
    feepay_reconciled_remarks?: string;
    constructor(init: MFeePaymentReconcilePayload);
    Validate?(): Partial<IFeePaymentReconcileErrorLogger>;
}
interface feePaymentControllerResponse extends controllerResponse {
    data?: FeePayment[];
}
interface feePaymentByIdControllerResponse extends controllerResponse {
    data?: FeePayment;
}
interface feePaymentInsertUpdateControllerResponse extends controllerResponse {
    data?: FeePayment;
}
interface feePaymentDeleteControllerResponse extends controllerResponse {
    data?: boolean;
}
interface feePaymentApproveControllerResponse extends controllerResponse {
    data?: FeePayment;
}
interface feePaymentReconcileControllerResponse extends controllerResponse {
    data?: FeePayment;
}
export { IFeePaymentErrorLogger, IFeePaymentGetByIdErrorLogger, IFeePaymentDeleteErrorLogger, IFeePaymentInsertUpdateErrorLogger, MFeePayment, MFeePaymentGetByIdPayload, MFeePaymentDeletePayload, MFeePaymentInsertUpdatePayload, MFeePaymentApprovePayload, feePaymentControllerResponse, feePaymentByIdControllerResponse, feePaymentInsertUpdateControllerResponse, feePaymentDeleteControllerResponse, feePaymentApproveControllerResponse, MFeePaymentReconcilePayload, IFeePaymentReconcileErrorLogger, feePaymentReconcileControllerResponse };
