import * as grpc from '@grpc/grpc-js'; import type { Session } from '../../types/session.js'; export interface ExtendedCall { metadata: grpc.Metadata; handler?: { path: string; requestSchema?: { parse: (data: unknown) => unknown; }; }; request?: unknown; session?: Session; userId?: string; username?: string; roles?: string[]; call?: { on: (event: string, handler: (error: unknown) => void) => void; }; sendMetadata: (metadata: grpc.Metadata) => void; getPeer?: () => string; } export type GrpcCallback = (error: Error | null, response?: T) => void; export type NextFunction = (call: ExtendedCall, callback: GrpcCallback) => void; export type InterceptorFunction = (call: ExtendedCall, callback: GrpcCallback, next: NextFunction) => void | Promise; export interface GrpcError extends Error { code: grpc.status; details?: unknown; metadata?: grpc.Metadata; } export interface AuthenticatedServerUnaryCall extends grpc.ServerUnaryCall { session?: Session; userId?: string; username?: string; roles?: string[]; } export interface AuthenticatedServerWritableStream extends grpc.ServerWritableStream { session?: Session; userId?: string; username?: string; roles?: string[]; } //# sourceMappingURL=types.d.ts.map