"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Router = void 0;
const routerOcr_js_1 = require("../funcs/routerOcr.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
const audio_js_1 = require("./audio.js");
const chat_js_1 = require("./chat.js");
const completions_js_1 = require("./completions.js");
const embeddings_js_1 = require("./embeddings.js");
const images_js_1 = require("./images.js");
const moderations_js_1 = require("./moderations.js");
const orqresponses_js_1 = require("./orqresponses.js");
const rerank_js_1 = require("./rerank.js");
class Router extends sdks_js_1.ClientSDK {
    get chat() {
        return (this._chat ?? (this._chat = new chat_js_1.Chat(this._options)));
    }
    get moderations() {
        return (this._moderations ?? (this._moderations = new moderations_js_1.Moderations(this._options)));
    }
    get embeddings() {
        return (this._embeddings ?? (this._embeddings = new embeddings_js_1.Embeddings(this._options)));
    }
    get rerank() {
        return (this._rerank ?? (this._rerank = new rerank_js_1.Rerank(this._options)));
    }
    get audio() {
        return (this._audio ?? (this._audio = new audio_js_1.Audio(this._options)));
    }
    get completions() {
        return (this._completions ?? (this._completions = new completions_js_1.Completions(this._options)));
    }
    get images() {
        return (this._images ?? (this._images = new images_js_1.Images(this._options)));
    }
    get responses() {
        return (this._responses ?? (this._responses = new orqresponses_js_1.OrqResponses(this._options)));
    }
    /**
     * Extracts text content while maintaining document structure and hierarchy
     */
    async ocr(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, routerOcr_js_1.routerOcr)(this, request, options));
    }
}
exports.Router = Router;
//# sourceMappingURL=router.js.map