import { AccountError } from "./AccountError.js";
import type { Unrecognized } from "./../../../utils/unrecognized.js";
import { type PortOneClientInit } from "../../../client.js";
import type { Bank } from "../../../generated/common/Bank.js";
import type { ForbiddenError } from "../../../generated/common/ForbiddenError.js";
import type { InvalidRequestError } from "../../../generated/common/InvalidRequestError.js";
import type { PlatformAccountHolder } from "../../../generated/platform/account/PlatformAccountHolder.js";
import type { PlatformExternalApiFailedError } from "../../../generated/platform/PlatformExternalApiFailedError.js";
import type { PlatformExternalApiTemporarilyFailedError } from "../../../generated/platform/account/PlatformExternalApiTemporarilyFailedError.js";
import type { PlatformNotEnabledError } from "../../../generated/platform/PlatformNotEnabledError.js";
import type { PlatformNotSupportedBankError } from "../../../generated/platform/account/PlatformNotSupportedBankError.js";
import type { UnauthorizedError } from "../../../generated/common/UnauthorizedError.js";
/**
 * 포트원 API 클라이언트를 생성합니다.
 */
export declare function AccountClient(init: PortOneClientInit): AccountClient;
export type AccountClient = {
    /**
     * 예금주 조회
     *
     * 계좌의 예금주를 조회합니다.
     *
     * @throws {@link GetPlatformAccountHolderError}
     */
    getPlatformAccountHolder: (options: {
        /** 은행 */
        bank: Bank;
        /** '-'를 제외한 계좌 번호 */
        accountNumber: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /**
         * 생년월일
         *
         * 실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만 사용해야 합니다.
         */
        birthdate?: string;
        /**
         * 사업자등록번호
         *
         * 실명 조회를 위해 추가로 보낼 수 있습니다. birthdate과 businessRegistrationNumber 중 하나만 사용해야 합니다.
         */
        businessRegistrationNumber?: string;
    }) => Promise<PlatformAccountHolder>;
};
export declare class GetPlatformAccountHolderError extends AccountError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformExternalApiFailedError | PlatformExternalApiTemporarilyFailedError | PlatformNotEnabledError | PlatformNotSupportedBankError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformExternalApiFailedError | PlatformExternalApiTemporarilyFailedError | PlatformNotEnabledError | PlatformNotSupportedBankError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
