// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT

/**
 * MCPBridge wires together MCP, WebView, Display and WebSocket services
 * and starts the MCP HTTP server after Wails initializes.
 * @module
 */

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import { Call as $Call, CancellablePromise as $CancellablePromise, Create as $Create } from "@wailsio/runtime";

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as display$0 from "../github.com/Snider/Core/pkg/display/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as mcp$0 from "../github.com/Snider/Core/pkg/mcp/models.js";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as webview$0 from "../github.com/Snider/Core/pkg/webview/models.js";

/**
 * GetDisplay returns the Display service.
 */
export function GetDisplay(): $CancellablePromise<display$0.Service | null> {
    return $Call.ByID(3763799861).then(($result: any) => {
        return $$createType1($result);
    });
}

/**
 * GetMCPService returns the MCP service for direct access.
 */
export function GetMCPService(): $CancellablePromise<mcp$0.Service | null> {
    return $Call.ByID(4133944486).then(($result: any) => {
        return $$createType3($result);
    });
}

/**
 * GetWebView returns the WebView service.
 */
export function GetWebView(): $CancellablePromise<webview$0.Service | null> {
    return $Call.ByID(903939500).then(($result: any) => {
        return $$createType5($result);
    });
}

// Private type creation functions
const $$createType0 = display$0.Service.createFrom;
const $$createType1 = $Create.Nullable($$createType0);
const $$createType2 = mcp$0.Service.createFrom;
const $$createType3 = $Create.Nullable($$createType2);
const $$createType4 = webview$0.Service.createFrom;
const $$createType5 = $Create.Nullable($$createType4);
