// Generated by bynkc — do not edit by hand.
// context demo.svc

import { Ok, Err, Some, None, type Result, type Option, type ValidationError } from "../runtime.js";

export interface Logger {
  log(message: string): Promise<void>;
}

export const LoggerToken: unique symbol = Symbol("Logger");

export const announce = {
  async call(message: string, deps: { Logger: Logger }): Promise<void> {
    const __r0 = await deps.Logger.log(message);
    return undefined;
  },
};

export interface DemoSvcDeps {
  readonly Logger: Logger;
}

export function makeSurface(deps: DemoSvcDeps) {
  return {
    async announce(message: string): Promise<void> {
      return announce.call(message, deps);
    },
  };
}

