import { RuntimeAppService } from "./app.js";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service nimi.runtime.v1.RuntimeAppService
 */
export class RuntimeAppServiceClient {
    _transport;
    typeName = RuntimeAppService.typeName;
    methods = RuntimeAppService.methods;
    options = RuntimeAppService.options;
    constructor(_transport) {
        this._transport = _transport;
    }
    /**
     * @generated from protobuf rpc: SendAppMessage
     */
    sendAppMessage(input, options) {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SubscribeAppMessages
     */
    subscribeAppMessages(input, options) {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept("serverStreaming", this._transport, method, opt, input);
    }
    /**
     * Nimi App install/uninstall lifecycle (K-APP-011..K-APP-014).
     *
     * @generated from protobuf rpc: InstallApp
     */
    installApp(input, options) {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: UninstallApp
     */
    uninstallApp(input, options) {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetAppInstallJob
     */
    getAppInstallJob(input, options) {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: ListAppInstallJobs
     */
    listAppInstallJobs(input, options) {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: WatchAppInstallJobEvents
     */
    watchAppInstallJobEvents(input, options) {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept("serverStreaming", this._transport, method, opt, input);
    }
    /**
     * Nimi App update + health/repair lifecycle (K-APP-015..K-APP-016).
     *
     * @generated from protobuf rpc: UpdateApp
     */
    updateApp(input, options) {
        const method = this.methods[7], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: HealthRepairApp
     */
    healthRepairApp(input, options) {
        const method = this.methods[8], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
    /**
     * Nimi App Open / launch flow (K-APP-017). OpenApp is the sole Runtime RPC
     * entry for launching a Nimi App; it requires an explicit app-shape
     * AIScopeRef and never infers launch scope.
     *
     * @generated from protobuf rpc: OpenApp
     */
    openApp(input, options) {
        const method = this.methods[9], opt = this._transport.mergeOptions(options);
        return stackIntercept("unary", this._transport, method, opt, input);
    }
}
//# sourceMappingURL=app.client.js.map