import { type MoyasarError } from '../models/errors/moyasar_errors';
import type { PaymentRequest } from '../models/api/api_requests/payment_request';
import { PaymentResponse } from '../models/api/api_responses/payment_response';
import type { TokenRequest } from '../models/api/api_requests/token_request';
import { TokenResponse } from '../models/api/api_responses/token_response';
import { PaymentType } from '../models/payment_type';
/**
 * Initiates a payment.
 * @param paymentRequest - The payment request object.
 * @param publishableApiKey - Moyasar's publishable API key.
 */
export declare function createPayment(paymentRequest: PaymentRequest, publishableApiKey: string): Promise<PaymentResponse | MoyasarError>;
/**
 * Creates a Credit Card token.
 * @param tokenRequest - The token request object.
 * @param publishableApiKey - Moyasar's publishable API key.
 */
export declare function createToken(tokenRequest: TokenRequest, publishableApiKey: string): Promise<TokenResponse | MoyasarError>;
/**
 * Sends an OTP (One-Time Password) to the specified URL for payment processing.
 * @param otp - The OTP value to be sent.
 * @param url - The URL to which the OTP should be sent.
 * @param paymentSource - The source of the payment, defaults to PaymentType.stcPay.
 */
export declare function sendOtp(otp: string, url: string, paymentSource?: PaymentType): Promise<PaymentResponse | MoyasarError>;
//# sourceMappingURL=payment_service.d.ts.map