import type { AccountingReportRepo } from '../../../repo/accountingReport';
import type { ActionRepo } from '../../../repo/action';
import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
import type { CredentialsRepo } from '../../../repo/credentials';
import type { PaymentServiceRepo } from '../../../repo/paymentService';
import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
import type { ProductRepo } from '../../../repo/product';
import type { ProjectRepo } from '../../../repo/project';
import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccepted';
import type { TaskRepo } from '../../../repo/task';
import type { TransactionNumberRepo } from '../../../repo/transactionNumber';
import * as factory from '../../../factory';
import { Settings } from '../../../settings';
declare function refundByTask(params: factory.task.refund.IData & {
    sameAs?: {
        id: string;
    };
}): (repos: {
    action: ActionRepo;
    accountingReport: AccountingReportRepo;
    credentials: CredentialsRepo;
    paymentAccepted: SellerPaymentAcceptedRepo;
    paymentService: PaymentServiceRepo;
    paymentServiceProvider: PaymentServiceProviderRepo;
    product: ProductRepo;
    project: ProjectRepo;
    task: TaskRepo;
    assetTransaction: AssetTransactionRepo;
    transactionNumber: TransactionNumberRepo;
}, settings: Settings) => Promise<void>;
export { refundByTask };
