/**
 * 키움증권 Accounting (회계)
 *
 * @file packages/Kiwoom/kiwoomAccounting.ts
 * @version 0.0.1
 * @license GNU General Public License v3.0
 * @copyright 2017~2023, EFriendExport Community Team
 * @author gye hyun james kim <pnuskgh@gmail.com>
 */
export declare class KiwoomAccounting {
    private exchangeFee;
    private exchangeFee_kotc;
    private exchangeFee_lender;
    private relateFee;
    private specialTax;
    private investTax;
    constructor();
    /**
     * 증권의 호가 단위를 반환 한다.
     *
     * @param {number} price            현재 가격
     * @param {string} yyyy             연도
     * @returns unitPrice               호가 단위
     */
    unitPrice(price: number, yyyy?: string): number;
    /**
     * 이전 호가(낮은 가격)를 반환 한다.
     *     price가 정확한 금액이 입력된다는 가정하에 처리 한다.
     *     price = Math.floor(price / unitPriceCurr) * unitPriceCurr;
     *
     * @param {number} price            현재 가격
     * @param {string} yyyy             연도
     * @param {number} times            반복 횟수
     * @returns
     */
    prevPrice(price: number, yyyy?: string, times?: number): number;
    /**
     * 다음 호가(높은 가격)를 반환 한다.
     *     price가 정확한 금액이 입력된다는 가정하에 처리 한다.
     *     price = Math.floor(price / unitPriceCurr) * unitPriceCurr;
     *
     * @param {number} price            현재 가격
     * @param {string} yyyy             연도
     * @param {number} times            반복 횟수
     * @returns
     */
    nextPrice(price: number, yyyy?: string, times?: number): number;
    /**
     * 거래소별: 유관기관 수수료를 반환 한다.
     *     유관기관 : 한국거래소, 한국예탁결제원
     *     매수/매도시에 적용 한다.
     *     1원 아래는 버림
     *     To-Do : 체결된 금액은 분할 매매시 합계 금액으로 한다
     *
     * @param {number} totalPrice       체결된 금액
     * @param {string} type             거래 타입
     */
    _feeRelate(totalPrice: number, _type?: string): number;
    /**
     * 거래소별: 매매 수수료를 반환 한다.
     *     매수/매도시에 적용 한다.
     *     1원 아래는 버림
     *     To-Do : 체결된 금액은 분할 매매시 합계 금액으로 한다
     *     To-Do : 다양한 조건에 따라 수수료율이 달라진다.
     *         키움증권: https://www.kiwoom.com/h/help/fee/VHelpStockFeeView?dummyVal=0
     *
     * @param {number} totalPrice       체결된 금액
     * @param {string} type             거래 타입
     * @returns
     */
    _feeExchange(totalPrice: number, type?: string): number;
    /**
     * 매수시 매매 수수료와 유관기관 수수료를 반환 한다.
     *
     * @param {number} totalPrice       체결된 금액
     * @param {string} type             거래 타입
     * @returns number                  매수시 발생한 수수료
     */
    purchaseFee(totalPrice: number, type?: string): number;
    /**
     * 매도시 매매 수수료와 유관기관 수수료를 반환 한다.
     *
     * @param {number} totalPrice       체결된 금액
     * @param {string} type             거래 타입
     * @returns number                  매도시 발생한 수수료
     */
    saleFee(totalPrice: number, type?: string): number;
    /**
     * 예탁금 이용료
     *     증권사에 예치한 예탁금에 대한 연간 이자
     *     https://www.ngetnews.com/news/articleView.html?idxno=408917
     *
     * @param {number} total            예탁금
     * @returns number                  연간 이자
     */
    usageFee(total: number, yyyymmdd?: string): number;
    /**
     * 세율을 반환 한다.
     *
     * @param {string} yyyy             연도
     * @param {string} type             거래 타입
     * @returns
     */
    taxRate(yyyy?: string, _type?: string): number;
    /**
     * 공통: 매도시 발생한 세금을 반환 한다
     *     10원 아래는 버림
     *     To-Do : 체결된 금액은 분할 매매시 합계 금액으로 한다
     *
     * @param {string} yyyy             연도
     * @param {number} purchaseTotal    매수시 체결된 금액
     * @param {number} saleTotal        매도시 체결된 금액
     * @param {string} type             거래 타입
     * @returns number                  매도시 발생한 세금
     */
    tax(yyyy: string, _purchaseTotal: number, saleTotal: number, type?: string): number;
    profit(yyyy: string, purchaseTotal: number, saleTotal: number, type?: string): number;
    duration(purchaseDate: string, saleDate: string): number;
    salePrice(_stockCode: string, orderPrice: number, saleRate?: number, yyyy?: string): number;
}
export default KiwoomAccounting;
//# sourceMappingURL=kiwoomAccounting.d.ts.map