import { CompanyError } from "./CompanyError.js";
import type { Unrecognized } from "./../../../utils/unrecognized.js";
import { type PortOneClientInit } from "../../../client.js";
import type { B2bExternalServiceError } from "../../../generated/common/B2bExternalServiceError.js";
import type { B2bNotEnabledError } from "../../../generated/common/B2bNotEnabledError.js";
import type { ForbiddenError } from "../../../generated/common/ForbiddenError.js";
import type { GetB2bBusinessInfosResponse } from "../../../generated/platform/company/GetB2bBusinessInfosResponse.js";
import type { GetPlatformCompanyStatePayload } from "../../../generated/platform/company/GetPlatformCompanyStatePayload.js";
import type { InvalidRequestError } from "../../../generated/common/InvalidRequestError.js";
import type { PlatformCompanyNotFoundError } from "../../../generated/platform/company/PlatformCompanyNotFoundError.js";
import type { PlatformExternalApiFailedError } from "../../../generated/platform/PlatformExternalApiFailedError.js";
import type { PlatformNotEnabledError } from "../../../generated/platform/PlatformNotEnabledError.js";
import type { UnauthorizedError } from "../../../generated/common/UnauthorizedError.js";
/**
 * 포트원 API 클라이언트를 생성합니다.
 */
export declare function CompanyClient(init: PortOneClientInit): CompanyClient;
export type CompanyClient = {
    /**
     * 사업자등록 정보조회
     *
     * 요청된 사업자등록번호 리스트에 해당하는 사업자등록 정보를 조회합니다.
     * 해당 API 사용을 위해서는 별도 문의가 필요합니다.
     *
     * @throws {@link GetB2bBusinessInfosError}
     */
    getB2bBusinessInfos: (options: {
        /** 조회할 사업자등록번호 리스트 */
        brnList: string[];
    }) => Promise<GetB2bBusinessInfosResponse>;
    /**
     * 사업자 조회
     *
     * 사업자 정보를 조회합니다. 포트원 서비스에 연동 및 등록되지 않은 사업자도 조회 가능합니다.
     *
     * @throws {@link GetPlatformCompanyStateError}
     */
    getPlatformCompanyState: (options: {
        /** 사업자등록번호 */
        businessRegistrationNumber: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<GetPlatformCompanyStatePayload>;
};
export declare class GetB2bBusinessInfosError extends CompanyError {
    readonly data: B2bExternalServiceError | B2bNotEnabledError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: B2bExternalServiceError | B2bNotEnabledError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class GetPlatformCompanyStateError extends CompanyError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformCompanyNotFoundError | PlatformExternalApiFailedError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformCompanyNotFoundError | PlatformExternalApiFailedError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
