import type { ODataOptionsWithoutCount, OptionsToResponse } from 'pinejs-client-core';
import type { CreditBundle, InjectedDependenciesParam } from '..';
declare const getCreditBundleModel: ({ pine, sdkInstance, }: InjectedDependenciesParam) => {
    /**
     * @summary Get all of the credit bundles purchased by the given org
     * @name getAllByOrg
     * @public
     * @function
     * @memberof balena.models.creditBundle
     *
     * @param {(String|Number)} organization - handle (string) or id (number) of the target organization.
     * @param {Object} [options={}] - extra pine options to use
     *
     * @fulfil {Object[]} - credit bundles
     * @returns {Promise}
     *
     * @example
     * balena.models.creditBundle.getAllByOrg(orgId).then(function(creditBundles) {
     * 	console.log(creditBundles);
     * });
     *
     */
    getAllByOrg: <T extends ODataOptionsWithoutCount<CreditBundle["Read"]>>(organization: string | number, options?: T) => Promise<OptionsToResponse<CreditBundle["Read"], T, undefined>>;
    /**
     * @summary Purchase a credit bundle for the given feature and org of the given quantity
     * @name create
     * @public
     * @function
     * @memberof balena.models.creditBundle
     *
     * @param {(String|Number)} organization - handle (string) or id (number) of the target organization.
     * @param {Number} featureId - id (number) of the feature for which credits are being purchased.
     * @param {Number} creditsToPurchase - number of credits being purchased.
     *
     * @fulfil {Object[]} - credit bundles
     * @returns {Promise}
     *
     * @example
     * balena.models.creditBundle.create(orgId, featureId, creditsToPurchase).then(function(creditBundle) {
     * 	console.log(creditBundle);
     * });
     *
     */
    create: (organization: string | number, featureId: number, creditsToPurchase: number) => Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
        created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
        modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
        id: import("@balena/sbvr-types").Types["Integer"]["Read"];
        payment_status: "processing" | "paid" | "failed" | "complimentary" | "cancelled" | "refunded" | "manually invoiced";
        is_created_by__user: {
            __id: import("..").User["Read"]["id"];
        } | [import("..").User["Read"]];
        is_for__feature: {
            __id: import("..").Feature["Read"]["id"];
        } | [import("..").Feature["Read"]];
        belongs_to__organization: {
            __id: import("..").Organization["Read"]["id"];
        } | [import("..").Organization["Read"]];
        unit_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
        original_quantity: import("@balena/sbvr-types").Types["Integer"]["Read"];
        available_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
        total_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
        total_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
        expires_on__date: import("@balena/sbvr-types").Types["Date Time"]["Read"];
        is_associated_with__invoice_id: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
        error_message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
    }>>;
};
export default getCreditBundleModel;
