type TypesList = { LikeMutation: {postId: number}, OtherType: string, } type LikeMutation = { __typename: 'LikeMutation' } type QueryOptions<T> = { variables: T, multiple: boolean, } let r = query<LikeMutation>({ variables: {postId: 1}, multiple: false }) function query<T extends {__typename: keyof TypesList}>( arg: QueryOptions<TypesList[T['__typename']]>): void{ }
(ваш голос учтен)