import * as Qonversion from "./types";
declare class QonversionClient {
    private secretKey;
    private projectKey;
    private baseUrl;
    constructor(secretKey: string, projectKey: string);
    /**
     * GET /v3/users/:id
     * Get a users information using theit qonversion user id
     */
    getUser(userId: string): Promise<Qonversion.User>;
    /**
     * POST /v3/users/:id
     * Create a new user using a custom user id
     */
    createUser(userId: string, environment: Qonversion.Environment): Promise<Qonversion.CreateUser>;
    /**
     * GET /v3/users/:id/properties
     * Retrieve a users properties using their qonversion user id
     */
    getUserProperties(userId: string): Promise<Qonversion.UserProperty[]>;
    /**
     * POST /v3/users/:id/properties
     * Set a users properties using their qonversion user id
     */
    setUserProperties(userId: string, properties: Qonversion.UserProperty[]): Promise<Qonversion.CreateUserProperty>;
    /**
     * GET /v3/identities/:id
     * Get a users information using their qonversion identity id
     */
    getIdentity(identityId: string): Promise<Qonversion.Identity>;
    /**
     * POST /v3/identities/:id
     * Create a new identity using a custom identity id
     */
    createIdentity(id: string, userId: string): Promise<Qonversion.Identity>;
    /**
     * GET /v3/users/:userId/entitlements
     * Get a users entitlements using their qonversion user id
     */
    getEntitlements(userId: string): Promise<{
        data: Qonversion.Entitlement[];
    }>;
    /**
     * POST /v3/users/:userId/entitlements
     * Grant entitlements to a user using their qonversion user id
     */
    grantEntitlement(userId: string, entitlementId: string, expires: number): Promise<void>;
    /**
     * DELETE /v3/users/:userId/entitlements/:entitlementId
     * Revoke entitlements from a user using their qonversion user id
     */
    revokeEntitlement(userId: string, entitlementId: string): Promise<void>;
    /**
     * POST /v3/users/:userId/purchases
     * Create a new purchase for a user using their qonversion user id
     */
    createPurchase(userId: string, price: string, currency: string, stripeStoreData: {
        subscription_id: string;
        product_id: string;
    }): Promise<void>;
}
export default QonversionClient;
export * from "./types";
