import { PromotionError } from "./PromotionError.js";
import type { Unrecognized } from "./../../../utils/unrecognized.js";
import { type PortOneClientInit } from "../../../client.js";
import type { ForbiddenError } from "../../../generated/common/ForbiddenError.js";
import type { InvalidRequestError } from "../../../generated/common/InvalidRequestError.js";
import type { Promotion } from "../../../generated/payment/promotion/Promotion.js";
import type { PromotionNotFoundError } from "../../../generated/payment/promotion/PromotionNotFoundError.js";
import type { UnauthorizedError } from "../../../generated/common/UnauthorizedError.js";
/**
 * 포트원 API 클라이언트를 생성합니다.
 */
export declare function PromotionClient(init: PortOneClientInit): PromotionClient;
export type PromotionClient = {
    /**
     * 프로모션 단건 조회
     *
     * 주어진 아이디에 대응되는 프로모션을 조회합니다.
     *
     * @throws {@link GetPromotionError}
     */
    getPromotion: (options: {
        /** 조회할 프로모션 아이디 */
        promotionId: string;
    }) => Promise<Promotion>;
};
export declare class GetPromotionError extends PromotionError {
    readonly data: ForbiddenError | InvalidRequestError | PromotionNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    };
    /** @ignore */
    constructor(data: ForbiddenError | InvalidRequestError | PromotionNotFoundError | UnauthorizedError | {
        readonly type: Unrecognized;
    });
}
