/**
 * Airalo Partner API - Node.js SDK
 * Бүх API модулийг нэг цэгээс ашиглах боломжтой
 */
export { config, setHost, setLogger } from "./config";
export { generateObjectId, toQueryString, getErrorMessage } from "./utils/helpers";
export { default as auth } from "./api/auth";
export { default as Package } from "./api/package";
export { default as Order } from "./api/order";
export { default as Sims } from "./api/sims";
export { default as Balance } from "./api/balance";
export { default as Notification } from "./api/notification";
export { default as Misc } from "./api/misc";
export { TOKEN, getToken } from "./api/auth";
export { Packages } from "./api/package";
export { SubmitOrder, SubmitOrderAsync, SubmitTopUpOrder, GetOrderList, GetOrder, GetOrderStatuses, GetOrderStatusBySlug } from "./api/order";
export { GetSimList, GetSim, GetSimInstructions, GetDataUsage, GetTopUpPackageList, GetSimPackageHistory, UpdateSimBrand } from "./api/sims";
export { GetBalance } from "./api/balance";
export { NotificationOptIn, NotificationOptOut, GetNotification, SimulateWebhook } from "./api/notification";
export { GetCompatibleDevices, CreateEsimVoucher } from "./api/misc";
export type { Order as OrderType, Sim, OrderStatus, OrderListMeta } from "./types/order";
export type { CountryData, Package as PackageType, Operator } from "./types/package";
export type { SimDataUsage, SimTopUpPackage, SimDetail, SimInstallationGuide, SimPackageHistory, NotificationType, NotificationConfig } from "./types/sim";
export type { ApiResult, ApiSuccess, ApiError, PaginationMeta, PaginatedResponse } from "./utils/helpers";
import { setHost, setLogger } from "./config";
import { generateObjectId } from "./utils/helpers";
export declare const Airalo: {
    config: {
        token: string;
        env: "PROD" | "STAGING";
        host: string;
        auth: {
            client_id: string;
            client_secret: string;
        };
        logger: boolean;
    };
    setHost: typeof setHost;
    setLogger: typeof setLogger;
    generateObjectId: typeof generateObjectId;
    auth: {
        TOKEN: (auth: {
            client_id: string;
            client_secret: string;
        }) => Promise<import("./utils/helpers").ApiResult<{
            access_token: string;
        }>>;
    };
    Package: {
        Packages: (params?: {
            filter?: any;
            include?: string;
            limit?: number;
            page?: number;
        }) => Promise<import("./utils/helpers").ApiResult<import("./types/package").CountryData[]> & {
            meta?: import("./utils/helpers").PaginatedResponse<import("./types/package").CountryData>["meta"];
        }>;
    };
    Order: {
        SubmitOrder: (params: {
            quantity: string;
            package_id: string;
            type?: string;
            description?: string;
            brand_settings_name?: string;
        }) => Promise<import("./utils/helpers").ApiResult<import("./types/order").Order>>;
        SubmitOrderAsync: (params: {
            quantity: string;
            package_id: string;
            type?: string;
            description?: string;
            brand_settings_name?: string;
        } & {
            webhook_url?: string;
            to_email?: string;
            sharing_option?: ("link" | "pdf")[];
            copy_address?: string[];
        }) => Promise<import("./utils/helpers").ApiResult<{
            message: string;
        }>>;
        SubmitTopUpOrder: (params: {
            package_id: string;
            iccid: string;
            description?: string;
        }) => Promise<import("./utils/helpers").ApiResult<import("./types/order").Order>>;
        GetOrderList: (params?: {
            include?: string;
            "filter[created_at]"?: string;
            "filter[code]"?: string;
            "filter[order_status]"?: string;
            "filter[iccid]"?: string;
            "filter[description]"?: string;
            limit?: number;
            page?: number;
        }) => Promise<import("./utils/helpers").ApiResult<import("./types/order").Order[]> & {
            meta?: import("./types/order").OrderListMeta;
        }>;
        GetOrder: (order_id: number | string) => Promise<import("./utils/helpers").ApiResult<import("./types/order").Order>>;
        GetOrderStatuses: (params?: {
            "filter[name]"?: string;
            limit?: number;
            page?: number;
        }) => Promise<import("./utils/helpers").ApiResult<import("./types/order").OrderStatus[]>>;
        GetOrderStatusBySlug: (slug: string) => Promise<import("./utils/helpers").ApiResult<import("./types/order").OrderStatus>>;
    };
    Sims: {
        GetSimList: (params?: {
            include?: string;
            "filter[created_at]"?: string;
            "filter[iccid]"?: string;
            limit?: number;
            page?: number;
        }) => Promise<import("./utils/helpers").ApiResult<import("./types/sim").SimDetail[]> & {
            meta?: import("./utils/helpers").PaginatedResponse<import("./types/sim").SimDetail>["meta"];
        }>;
        GetSim: (sim_iccid: string) => Promise<import("./utils/helpers").ApiResult<import("./types/sim").SimDetail>>;
        GetSimInstructions: (sim_iccid: string) => Promise<import("./utils/helpers").ApiResult<import("./types/sim").SimInstallationGuide>>;
        GetDataUsage: (sim_iccid: string) => Promise<import("./utils/helpers").ApiResult<import("./types/sim").SimDataUsage>>;
        GetTopUpPackageList: (sim_iccid: string) => Promise<import("./utils/helpers").ApiResult<import("./types/sim").SimTopUpPackage[]>>;
        GetSimPackageHistory: (sim_iccid: string) => Promise<import("./utils/helpers").ApiResult<import("./types/sim").SimPackageHistory[]>>;
        UpdateSimBrand: (sim_iccid: string, brand_settings_name: string) => Promise<import("./utils/helpers").ApiResult<unknown>>;
    };
    Balance: {
        GetBalance: () => Promise<import("./utils/helpers").ApiResult<{
            balances: {
                name: "balance";
                availableBalance: {
                    amount: number;
                    currency: string;
                };
            };
        }>>;
    };
    Notification: {
        NotificationOptIn: (params: import("./types/sim").NotificationConfig) => Promise<import("./utils/helpers").ApiResult<{
            type: import("./types/sim").NotificationType;
            webhook_url?: string;
            levels?: number[];
            created_at?: string;
        }>>;
        NotificationOptOut: (params: {
            type: import("./types/sim").NotificationType;
        }) => Promise<import("./utils/helpers").ApiResult<{
            message: string;
        }>>;
        GetNotification: () => Promise<import("./utils/helpers").ApiResult<{
            type: import("./types/sim").NotificationType;
            webhook_url?: string;
            levels?: number[];
            created_at?: string;
        }[]>>;
        SimulateWebhook: (params: {
            event: string;
            type: string;
            iccid: string;
        }) => Promise<import("./utils/helpers").ApiResult<{
            message: string;
        }>>;
    };
    Misc: {
        GetCompatibleDevices: () => Promise<import("./utils/helpers").ApiResult<{
            name: string;
            model: string;
            brand: string;
            os: string;
            compatible: boolean;
        }[]>>;
        CreateEsimVoucher: (params: {
            package_id: string;
            quantity?: number;
        }) => Promise<import("./utils/helpers").ApiResult<{
            code: string;
            package_id: string;
            created_at: string;
        }[]>>;
    };
};
export default Airalo;
