export type SchemaEntry = { method: string; params: unknown[] | Record; return: unknown; }; export type Schema = { requests: SchemaEntry[]; subscriptions: SchemaEntry[]; }; export type AnySchema = { requests: [ { method: string; params: unknown[] | Record; return: unknown; } ]; subscriptions: [ { method: string; params: unknown[] | Record; return: unknown; } ]; }; type AllEntries = [...S['requests'], ...S['subscriptions']]; export type ExtractMethod = AllEntries[number]['method']; export type ExtractRequestMethod = S['requests'][number]['method']; export type ExtractSubscriptionMethod = S['subscriptions'][number]['method']; export type ExtractEntry = Extract[number], { method: M; }>; export type ExtractReturn = ExtractEntry extends never ? unknown : ExtractEntry['return']; export type ExtractParams = ExtractEntry extends never ? unknown[] | Record : ExtractEntry['params']; export {}; //# sourceMappingURL=schema.d.ts.map