import { PaymentContext, SdkResponse } from "../../../model/types";
import { ApproveTokenRequest, CreateTokenRequest, CreateTokenResponse, ErrorResponse, TokenResponse, UpdateTokenRequest } from "../domain";
export interface TokensClient {
/**
* Resource /{merchantId}/tokens - Create token
*/
create(merchantId: string, postData: CreateTokenRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/tokens/{tokenId} - Get token
*/
get(merchantId: string, tokenId: string, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/tokens/{tokenId} - Update token
*/
update(merchantId: string, tokenId: string, postData: UpdateTokenRequest, paymentContext?: PaymentContext | null): Promise>;
/**
* Resource /{merchantId}/tokens/{tokenId} - Delete token
*/
remove(merchantId: string, tokenId: string, paymentContext: DeleteTokenParams): Promise>;
/**
* Resource /{merchantId}/tokens/{tokenId}/approvesepadirectdebit - Approve SEPA DD mandate
*/
approvesepadirectdebit(merchantId: string, tokenId: string, postData: ApproveTokenRequest, paymentContext?: PaymentContext | null): Promise>;
}
export interface DeleteTokenParams extends PaymentContext {
mandateCancelDate?: string;
}