import { api_config } from "./utils/const";
import { ApiMethod } from "./utils/request";
import { ChatApi } from "./chat";
import { ShopApi } from "./shop";
import { VoucherApi } from "./voucher";
import { ProductApi } from "./product";
import { OrderApi } from "./order";
import { LogisticsApi } from "./logistics";
import { PaymentApi } from "./payment";
import { ReturnsApi } from "./returns";
import { PublicApi } from "./public";
import { PushApi } from "./push";
declare type CONFIG = {
    partner_id: string | number;
    partner_key: string;
    is_dev: boolean;
    redirect: string;
} & Partial<typeof api_config>;
declare class ShopeeOpenApi {
    partner_id: number;
    private partner_key;
    private is_dev;
    private redirect;
    product: ProductApi;
    shop: ShopApi;
    order: OrderApi;
    logistics: LogisticsApi;
    payment: PaymentApi;
    returns: ReturnsApi;
    public: PublicApi;
    push: PushApi;
    chat: ChatApi;
    vocher: VoucherApi;
    constructor();
    setAppConfig: ({ partner_id, partner_key, is_dev, redirect, retries, retryDelay }: CONFIG) => void;
    private generateParamsString;
    private generateLink;
    getAuthLink(): string;
    getUnAuthLink(): string;
    getAccesstoken: ApiMethod<{
        code: string;
        partner_id: number;
    } & ({
        shop_id: number;
    } | {
        main_account_id: number;
    }), {
        refresh_token: string;
        access_token: string;
        expire_in: number;
        merchant_id_list?: number[];
        shop_id_list?: number[];
    }>;
    refreshAccessToken: ApiMethod<{
        refresh_token: string;
        partner_id: number;
    } & ({
        shop_id: number;
    } | {
        merchant_id: number;
    }), {
        refresh_token: string;
        access_token: string;
        expire_in: number;
        partner_id: number;
        shop_id?: number;
        merchant_id?: number;
    }>;
}
declare const _default: ShopeeOpenApi;
export default _default;
