/**
 * @packageDocumentation
 * @module api.functional.payments
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
import type { IConnection } from "@nestia/fetcher";
import type { IIamportPayment } from "../../structures/IIamportPayment";
import type { IIamportPaymentCancel } from "../../structures/IIamportPaymentCancel";
import type { IIamportResponse } from "../../structures/IIamportResponse";
/**
 * 결제 기록 열람하기.
 *
 * 아임포트를 통하여 발생한 결제 기록을 열람한다.
 *
 * @param imp_uid 대상 결제 기록의 {@link IIamportPayment.imp_uid }
 * @param query 결제 수단이 페이팔인 경우에 사용
 * @returns 결제 정보
 * @security bearer
 * @author Samchon
 *
 * @controller FakeIamportPaymentsController.at
 * @path GET /payments/:imp_uid
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function at(connection: IConnection, imp_uid: string, query: IIamportPayment.IQuery): Promise<at.Output>;
export declare namespace at {
    type Query = IIamportPayment.IQuery;
    type Output = IIamportResponse<IIamportPayment>;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/payments/:imp_uid";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly status: 200;
    };
    const path: (imp_uid: string, query: at.Query) => string;
}
/**
 * 결제 취소하기.
 *
 * 만약 가상 계좌를 통한 결제였다면, 반드시 환불 계좌 정보를 입력해줘야 한다.
 *
 * @param input 결제 취소 입력 정보
 * @returns 취소된 결제 정보
 * @security bearer
 * @author Samchon
 *
 * @controller FakeIamportPaymentsController.cancel
 * @path POST /payments/cancel
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function cancel(connection: IConnection, input: IIamportPaymentCancel.ICreate): Promise<cancel.Output>;
export declare namespace cancel {
    type Input = IIamportPaymentCancel.ICreate;
    type Output = IIamportResponse<IIamportPayment>;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/payments/cancel";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly status: 201;
    };
    const path: () => string;
}
