import { PaymentContext, SdkResponse } from "../../../model/types";
import { CreateMandateRequest, CreateMandateResponse, ErrorResponse, GetMandateResponse } from "../domain";
export interface MandatesClient {
/**
* Resource /{merchantId}/mandates - Create mandate
*/
create(merchantId: string, postData: CreateMandateRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/mandates/{uniqueMandateReference} - Create mandate with mandatereference
*/
createWithMandateReference(merchantId: string, uniqueMandateReference: string, postData: CreateMandateRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/mandates/{uniqueMandateReference} - Get mandate
*/
get(merchantId: string, uniqueMandateReference: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/mandates/{uniqueMandateReference}/block - Block mandate
*/
block(merchantId: string, uniqueMandateReference: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/mandates/{uniqueMandateReference}/unblock - Unblock mandate
*/
unblock(merchantId: string, uniqueMandateReference: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/mandates/{uniqueMandateReference}/revoke - Revoke mandate
*/
revoke(merchantId: string, uniqueMandateReference: string, paymentContext?: PaymentContext | null): Promise>;
}