interface ClientConfig {
agentAddr: string;
gameId: string;
env?: string;
serviceId?: string;
insecure?: boolean;
timeout?: number;
}
class CroupierClient {
constructor(config: ClientConfig);
registerFunction(
descriptor: FunctionDescriptor,
handler: FunctionHandler
): void;
connect(): Promise<void>;
serve(): Promise<void>;
close(): Promise<void>;
}
interface FunctionDescriptor {
id: string;
version: string;
name?: string;
description?: string;
}
type FunctionHandler = (
context: CallContext,
payload: unknown
) => Promise<unknown> | unknown;