import { PlatformError } from "./PlatformError.js";
import type { Unrecognized } from "./../../utils/unrecognized.js";
import { type PortOneClientInit } from "../../client.js";
import { CompanyClient } from "./company/client.js";
import { AccountTransferClient } from "./accountTransfer/client.js";
import { PolicyClient } from "./policy/client.js";
import { AccountClient } from "./account/client.js";
import { BulkAccountTransferClient } from "./bulkAccountTransfer/client.js";
import { BulkPayoutClient } from "./bulkPayout/client.js";
import { PartnerSettlementClient } from "./partnerSettlement/client.js";
import { PartnerClient } from "./partner/client.js";
import { PayoutClient } from "./payout/client.js";
import { TransferClient } from "./transfer/client.js";
import type { CancelPlatformAdditionalFeePolicyScheduleResponse } from "../../generated/platform/CancelPlatformAdditionalFeePolicyScheduleResponse.js";
import type { CancelPlatformContractScheduleResponse } from "../../generated/platform/CancelPlatformContractScheduleResponse.js";
import type { CancelPlatformDiscountSharePolicyScheduleResponse } from "../../generated/platform/CancelPlatformDiscountSharePolicyScheduleResponse.js";
import type { CancelPlatformPartnerScheduleResponse } from "../../generated/platform/CancelPlatformPartnerScheduleResponse.js";
import type { ForbiddenError } from "../../generated/common/ForbiddenError.js";
import type { InvalidRequestError } from "../../generated/common/InvalidRequestError.js";
import type { PlatformAccountVerificationAlreadyUsedError } from "../../generated/platform/PlatformAccountVerificationAlreadyUsedError.js";
import type { PlatformAccountVerificationFailedError } from "../../generated/platform/PlatformAccountVerificationFailedError.js";
import type { PlatformAccountVerificationNotFoundError } from "../../generated/platform/PlatformAccountVerificationNotFoundError.js";
import type { PlatformAdditionalFeePolicy } from "../../generated/platform/PlatformAdditionalFeePolicy.js";
import type { PlatformAdditionalFeePolicyNotFoundError } from "../../generated/platform/PlatformAdditionalFeePolicyNotFoundError.js";
import type { PlatformAdditionalFeePolicyScheduleAlreadyExistsError } from "../../generated/platform/PlatformAdditionalFeePolicyScheduleAlreadyExistsError.js";
import type { PlatformArchivedAdditionalFeePolicyError } from "../../generated/platform/PlatformArchivedAdditionalFeePolicyError.js";
import type { PlatformArchivedContractError } from "../../generated/platform/PlatformArchivedContractError.js";
import type { PlatformArchivedDiscountSharePolicyError } from "../../generated/platform/PlatformArchivedDiscountSharePolicyError.js";
import type { PlatformArchivedPartnerError } from "../../generated/platform/PlatformArchivedPartnerError.js";
import type { PlatformArchivedPartnersCannotBeScheduledError } from "../../generated/platform/PlatformArchivedPartnersCannotBeScheduledError.js";
import type { PlatformCompanyVerificationAlreadyUsedError } from "../../generated/platform/PlatformCompanyVerificationAlreadyUsedError.js";
import type { PlatformContract } from "../../generated/platform/PlatformContract.js";
import type { PlatformContractNotFoundError } from "../../generated/platform/PlatformContractNotFoundError.js";
import type { PlatformContractScheduleAlreadyExistsError } from "../../generated/platform/PlatformContractScheduleAlreadyExistsError.js";
import type { PlatformDiscountSharePolicy } from "../../generated/platform/PlatformDiscountSharePolicy.js";
import type { PlatformDiscountSharePolicyFilterOptions } from "../../generated/platform/PlatformDiscountSharePolicyFilterOptions.js";
import type { PlatformDiscountSharePolicyNotFoundError } from "../../generated/platform/PlatformDiscountSharePolicyNotFoundError.js";
import type { PlatformDiscountSharePolicyScheduleAlreadyExistsError } from "../../generated/platform/PlatformDiscountSharePolicyScheduleAlreadyExistsError.js";
import type { PlatformInsufficientDataToChangePartnerTypeError } from "../../generated/platform/PlatformInsufficientDataToChangePartnerTypeError.js";
import type { PlatformMemberCompanyConnectedPartnerBrnUnchangeableError } from "../../generated/platform/PlatformMemberCompanyConnectedPartnerBrnUnchangeableError.js";
import type { PlatformMemberCompanyConnectedPartnerCannotBeScheduledError } from "../../generated/platform/PlatformMemberCompanyConnectedPartnerCannotBeScheduledError.js";
import type { PlatformMemberCompanyConnectedPartnerTypeUnchangeableError } from "../../generated/platform/PlatformMemberCompanyConnectedPartnerTypeUnchangeableError.js";
import type { PlatformMemberCompanyConnectedPartnersCannotBeScheduledError } from "../../generated/platform/PlatformMemberCompanyConnectedPartnersCannotBeScheduledError.js";
import type { PlatformNotEnabledError } from "../../generated/platform/PlatformNotEnabledError.js";
import type { PlatformPartner } from "../../generated/platform/PlatformPartner.js";
import type { PlatformPartnerFilterInput } from "../../generated/platform/PlatformPartnerFilterInput.js";
import type { PlatformPartnerFilterOptions } from "../../generated/platform/PlatformPartnerFilterOptions.js";
import type { PlatformPartnerNotFoundError } from "../../generated/platform/PlatformPartnerNotFoundError.js";
import type { PlatformPartnerScheduleAlreadyExistsError } from "../../generated/platform/PlatformPartnerScheduleAlreadyExistsError.js";
import type { PlatformPartnerSchedulesAlreadyExistError } from "../../generated/platform/PlatformPartnerSchedulesAlreadyExistError.js";
import type { PlatformSetting } from "../../generated/platform/PlatformSetting.js";
import type { PlatformUserDefinedPropertyNotFoundError } from "../../generated/platform/PlatformUserDefinedPropertyNotFoundError.js";
import type { ReschedulePlatformAdditionalFeePolicyResponse } from "../../generated/platform/ReschedulePlatformAdditionalFeePolicyResponse.js";
import type { ReschedulePlatformContractResponse } from "../../generated/platform/ReschedulePlatformContractResponse.js";
import type { ReschedulePlatformDiscountSharePolicyResponse } from "../../generated/platform/ReschedulePlatformDiscountSharePolicyResponse.js";
import type { ReschedulePlatformPartnerResponse } from "../../generated/platform/ReschedulePlatformPartnerResponse.js";
import type { SchedulePlatformAdditionalFeePolicyResponse } from "../../generated/platform/SchedulePlatformAdditionalFeePolicyResponse.js";
import type { SchedulePlatformContractResponse } from "../../generated/platform/SchedulePlatformContractResponse.js";
import type { SchedulePlatformDiscountSharePolicyResponse } from "../../generated/platform/SchedulePlatformDiscountSharePolicyResponse.js";
import type { SchedulePlatformPartnerResponse } from "../../generated/platform/SchedulePlatformPartnerResponse.js";
import type { SchedulePlatformPartnersBodyUpdate } from "../../generated/platform/SchedulePlatformPartnersBodyUpdate.js";
import type { SchedulePlatformPartnersResponse } from "../../generated/platform/SchedulePlatformPartnersResponse.js";
import type { SettlementAmountType } from "../../generated/platform/SettlementAmountType.js";
import type { UnauthorizedError } from "../../generated/common/UnauthorizedError.js";
import type { UpdatePlatformAdditionalFeePolicyBody } from "../../generated/platform/UpdatePlatformAdditionalFeePolicyBody.js";
import type { UpdatePlatformContractBody } from "../../generated/platform/UpdatePlatformContractBody.js";
import type { UpdatePlatformDiscountSharePolicyBody } from "../../generated/platform/UpdatePlatformDiscountSharePolicyBody.js";
import type { UpdatePlatformPartnerBody } from "../../generated/platform/UpdatePlatformPartnerBody.js";
import type { UpdatePlatformSettingResponse } from "../../generated/platform/UpdatePlatformSettingResponse.js";
/**
 * 포트원 API 클라이언트를 생성합니다.
 */
export declare function PlatformClient(init: PortOneClientInit): PlatformClient;
export type PlatformClient = {
    /**
     * 주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 조회합니다.
     *
     * @throws {@link GetPlatformAdditionalFeePolicyScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    getPlatformAdditionalFeePolicySchedule: (options: {
        /** 추가 수수료 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<PlatformAdditionalFeePolicy>;
    /**
     * @throws {@link RescheduleAdditionalFeePolicyError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    rescheduleAdditionalFeePolicy: (options: {
        /** 추가 수수료 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformAdditionalFeePolicyBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<ReschedulePlatformAdditionalFeePolicyResponse>;
    /**
     * 주어진 아이디에 대응되는 추가 수수료 정책에 업데이트를 예약합니다.
     *
     * @throws {@link ScheduleAdditionalFeePolicyError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    scheduleAdditionalFeePolicy: (options: {
        /** 추가 수수료 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformAdditionalFeePolicyBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<SchedulePlatformAdditionalFeePolicyResponse>;
    /**
     * 주어진 아이디에 대응되는 추가 수수료 정책의 예약 업데이트를 취소합니다.
     *
     * @throws {@link CancelPlatformAdditionalFeePolicyScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    cancelPlatformAdditionalFeePolicySchedule: (options: {
        /** 추가 수수료 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<CancelPlatformAdditionalFeePolicyScheduleResponse>;
    /**
     * 주어진 아이디에 대응되는 계약의 예약 업데이트를 조회합니다.
     *
     * @throws {@link GetPlatformContractScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    getPlatformContractSchedule: (options: {
        /** 계약 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<PlatformContract>;
    /**
     * 주어진 아이디에 대응되는 계약에 예약 업데이트를 재설정합니다.
     *
     * @throws {@link RescheduleContractError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    rescheduleContract: (options: {
        /** 계약 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformContractBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<ReschedulePlatformContractResponse>;
    /**
     * 주어진 아이디에 대응되는 계약에 업데이트를 예약합니다.
     *
     * @throws {@link ScheduleContractError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    scheduleContract: (options: {
        /** 계약 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformContractBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<SchedulePlatformContractResponse>;
    /**
     * 주어진 아이디에 대응되는 계약의 예약 업데이트를 취소합니다.
     *
     * @throws {@link CancelPlatformContractScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    cancelPlatformContractSchedule: (options: {
        /** 계약 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<CancelPlatformContractScheduleResponse>;
    /**
     * 주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 조회합니다.
     *
     * @throws {@link GetPlatformDiscountSharePolicyScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    getPlatformDiscountSharePolicySchedule: (options: {
        /** 할인 분담 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<PlatformDiscountSharePolicy>;
    /**
     * 주어진 아이디에 대응되는 할인 분담에 예약 업데이트를 재설정합니다.
     *
     * @throws {@link RescheduleDiscountSharePolicyError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    rescheduleDiscountSharePolicy: (options: {
        /** 할인 분담 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformDiscountSharePolicyBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<ReschedulePlatformDiscountSharePolicyResponse>;
    /**
     * 주어진 아이디에 대응되는 할인 분담에 업데이트를 예약합니다.
     *
     * @throws {@link ScheduleDiscountSharePolicyError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    scheduleDiscountSharePolicy: (options: {
        /** 할인 분담 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformDiscountSharePolicyBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<SchedulePlatformDiscountSharePolicyResponse>;
    /**
     * 주어진 아이디에 대응되는 할인 분담의 예약 업데이트를 취소합니다.
     *
     * @throws {@link CancelPlatformDiscountSharePolicyScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    cancelPlatformDiscountSharePolicySchedule: (options: {
        /** 할인 분담 정책 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<CancelPlatformDiscountSharePolicyScheduleResponse>;
    /**
     * 할인 분담 정책 다건 조회 시 필요한 필터 옵션을 조회합니다.
     *
     * @throws {@link GetPlatformDiscountSharePolicyFilterOptionsError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    getPlatformDiscountSharePolicyFilterOptions: (options?: {
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /**
         * 보관 조회 여부
         *
         * true 이면 보관된 할인 분담의 필터 옵션을 조회하고, false 이면 보관되지 않은 할인 분담의 필터 옵션을 조회합니다. 기본값은 false 입니다.
         */
        isArchived?: boolean;
    }) => Promise<PlatformDiscountSharePolicyFilterOptions>;
    /**
     * 파트너 다건 조회 시 필요한 필터 옵션을 조회합니다.
     *
     * @throws {@link GetPlatformPartnerFilterOptionsError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    getPlatformPartnerFilterOptions: (options?: {
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /**
         * 보관 조회 여부
         *
         * true 이면 보관된 파트너의 필터 옵션을 조회하고, false 이면 보관되지 않은 파트너의 필터 옵션을 조회합니다. 기본값은 false 입니다.
         */
        isArchived?: boolean;
    }) => Promise<PlatformPartnerFilterOptions>;
    /**
     * @throws {@link SchedulePlatformPartnersError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    schedulePlatformPartners: (options: {
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        filter?: PlatformPartnerFilterInput;
        update: SchedulePlatformPartnersBodyUpdate;
        /** (RFC 3339 date-time) */
        appliedAt: string;
    }) => Promise<SchedulePlatformPartnersResponse>;
    /**
     * 주어진 아이디에 대응되는 파트너의 예약 업데이트를 조회합니다.
     *
     * @throws {@link GetPlatformPartnerScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    getPlatformPartnerSchedule: (options: {
        /** 파트너 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<PlatformPartner>;
    /**
     * 주어진 아이디에 대응되는 파트너에 예약 업데이트를 재설정합니다.
     *
     * @throws {@link ReschedulePartnerError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    reschedulePartner: (options: {
        /** 파트너 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformPartnerBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<ReschedulePlatformPartnerResponse>;
    /**
     * 주어진 아이디에 대응되는 파트너에 업데이트를 예약합니다.
     *
     * @throws {@link SchedulePartnerError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    schedulePartner: (options: {
        /** 파트너 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 반영할 업데이트 내용 */
        update: UpdatePlatformPartnerBody;
        /**
         * 업데이트 적용 시점
         * (RFC 3339 date-time)
         */
        appliedAt: string;
    }) => Promise<SchedulePlatformPartnerResponse>;
    /**
     * 주어진 아이디에 대응되는 파트너의 예약 업데이트를 취소합니다.
     *
     * @throws {@link CancelPlatformPartnerScheduleError}
     *
     * @unstable 실험적 API입니다. 하위호환성 정책과 무관하게 변경 및 지원 종료될 수 있으니 이용에 유의하세요.
     */
    cancelPlatformPartnerSchedule: (options: {
        /** 파트너 아이디 */
        id: string;
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<CancelPlatformPartnerScheduleResponse>;
    /**
     * 플랫폼 설정 조회
     *
     * 설정 정보를 조회합니다.
     *
     * @throws {@link GetPlatformSettingError}
     */
    getPlatformSetting: (options?: {
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
    }) => Promise<PlatformSetting>;
    /**
     * 플랫폼 설정 업데이트
     *
     * 설정 정보를 업데이트합니다.
     *
     * @throws {@link UpdatePlatformSettingError}
     */
    updatePlatformSetting: (options?: {
        /**
         * 테스트 모드 여부
         *
         * 테스트 모드 여부를 결정합니다. true 이면 테스트 모드로 실행됩니다. Request Body에도 isForTest가 있을 수 있으나, 둘 다 제공되면 Query Parameter의 test 값을 사용하고, Request Body의 isForTest는 무시됩니다. Query Parameter의 test와 Request Body의 isForTest에 모두 값이 제공되지 않으면 기본값인 false로 적용됩니다.
         */
        test?: boolean;
        /** 기본 보내는 이 통장 메모 */
        defaultWithdrawalMemo?: string;
        /** 기본 받는 이 통장 메모 */
        defaultDepositMemo?: string;
        /** paymentId, storeId, partnerId가 같은 주문 정산건에 대한 중복 정산 지원 여부 */
        supportsMultipleOrderTransfersPerPartner?: boolean;
        /** 정산일이 정산시작일보다 작거나 같을 경우 공휴일 후 영업일로 정산일 다시 계산 여부 */
        adjustSettlementDateAfterHolidayIfEarlier?: boolean;
        /** 지급 금액에서 원천징수세 차감 여부 */
        deductWht?: boolean;
        /** 정산 금액 취급 기준 */
        settlementAmountType?: SettlementAmountType;
    }) => Promise<UpdatePlatformSettingResponse>;
    company: CompanyClient;
    accountTransfer: AccountTransferClient;
    policy: PolicyClient;
    account: AccountClient;
    bulkAccountTransfer: BulkAccountTransferClient;
    bulkPayout: BulkPayoutClient;
    partnerSettlement: PartnerSettlementClient;
    partner: PartnerClient;
    payout: PayoutClient;
    transfer: TransferClient;
};
export declare class GetPlatformAdditionalFeePolicyScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class RescheduleAdditionalFeePolicyError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class ScheduleAdditionalFeePolicyError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformAdditionalFeePolicyScheduleAlreadyExistsError | PlatformArchivedAdditionalFeePolicyError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformAdditionalFeePolicyScheduleAlreadyExistsError | PlatformArchivedAdditionalFeePolicyError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class CancelPlatformAdditionalFeePolicyScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformAdditionalFeePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class GetPlatformContractScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class RescheduleContractError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class ScheduleContractError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformArchivedContractError | PlatformContractNotFoundError | PlatformContractScheduleAlreadyExistsError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformArchivedContractError | PlatformContractNotFoundError | PlatformContractScheduleAlreadyExistsError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class CancelPlatformContractScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class GetPlatformDiscountSharePolicyScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class RescheduleDiscountSharePolicyError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class ScheduleDiscountSharePolicyError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformArchivedDiscountSharePolicyError | PlatformDiscountSharePolicyNotFoundError | PlatformDiscountSharePolicyScheduleAlreadyExistsError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformArchivedDiscountSharePolicyError | PlatformDiscountSharePolicyNotFoundError | PlatformDiscountSharePolicyScheduleAlreadyExistsError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class CancelPlatformDiscountSharePolicyScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformDiscountSharePolicyNotFoundError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class GetPlatformDiscountSharePolicyFilterOptionsError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class GetPlatformPartnerFilterOptionsError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class SchedulePlatformPartnersError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformArchivedPartnersCannotBeScheduledError | PlatformContractNotFoundError | PlatformMemberCompanyConnectedPartnersCannotBeScheduledError | PlatformNotEnabledError | PlatformPartnerSchedulesAlreadyExistError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformArchivedPartnersCannotBeScheduledError | PlatformContractNotFoundError | PlatformMemberCompanyConnectedPartnersCannotBeScheduledError | PlatformNotEnabledError | PlatformPartnerSchedulesAlreadyExistError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class GetPlatformPartnerScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformPartnerNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformPartnerNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class ReschedulePartnerError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformMemberCompanyConnectedPartnerCannotBeScheduledError | PlatformNotEnabledError | PlatformPartnerNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformContractNotFoundError | PlatformMemberCompanyConnectedPartnerCannotBeScheduledError | PlatformNotEnabledError | PlatformPartnerNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class SchedulePartnerError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformAccountVerificationAlreadyUsedError | PlatformAccountVerificationFailedError | PlatformAccountVerificationNotFoundError | PlatformArchivedPartnerError | PlatformCompanyVerificationAlreadyUsedError | PlatformContractNotFoundError | PlatformInsufficientDataToChangePartnerTypeError | PlatformMemberCompanyConnectedPartnerBrnUnchangeableError | PlatformMemberCompanyConnectedPartnerCannotBeScheduledError | PlatformMemberCompanyConnectedPartnerTypeUnchangeableError | PlatformNotEnabledError | PlatformPartnerNotFoundError | PlatformPartnerScheduleAlreadyExistsError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformAccountVerificationAlreadyUsedError | PlatformAccountVerificationFailedError | PlatformAccountVerificationNotFoundError | PlatformArchivedPartnerError | PlatformCompanyVerificationAlreadyUsedError | PlatformContractNotFoundError | PlatformInsufficientDataToChangePartnerTypeError | PlatformMemberCompanyConnectedPartnerBrnUnchangeableError | PlatformMemberCompanyConnectedPartnerCannotBeScheduledError | PlatformMemberCompanyConnectedPartnerTypeUnchangeableError | PlatformNotEnabledError | PlatformPartnerNotFoundError | PlatformPartnerScheduleAlreadyExistsError | PlatformUserDefinedPropertyNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class CancelPlatformPartnerScheduleError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformPartnerNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | PlatformPartnerNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class GetPlatformSettingError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
export declare class UpdatePlatformSettingError extends PlatformError {
    readonly data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PlatformNotEnabledError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
